首页 后端开发 php教程 请问有经验的PHP老鸟,程序的安全性!

请问有经验的PHP老鸟,程序的安全性!

Jun 13, 2016 am 10:02 AM
array get

请教有经验的PHP老鸟,程序的安全性!?
讨论下开发PHP网站,除了操作系统和WEB服务软件,在程序本身安全方面应该注意那些

记得第一次给客户做的小站1个月就被坏蛋给黑了,检查发现居然在首页最下边被加了个 ,结果就是老弹广告。就可能是因为程序漏洞造成的。

还有听说工行的网站被恶搞,等等。

谢谢拉





------解决方案--------------------
呵呵,大家来点实际的
/*
*防注入处理
*/
if(!get_magic_quotes_gpc()){
immit(___FCKpd___0
POST);
immit(___FCKpd___0
GET);
immit(___FCKpd___0
COOKIE);
}
//防注入处理(为变量加入斜杠)函数
//参数 $array 为防注入变量数组
function immit(&$array){
foreach($array as $key=> $value){
if(!is_array($value)){
$array[$key]=addslashes($value);
}else{
immit($array[$key]);
}
}
}


php中如何避免sql注入攻击


if(!get_magic_quotes_gpc()){
callUserFunc(___FCKpd___0
GET, 'addslashes ');
callUserFunc(___FCKpd___0
POST, 'addslashes ');
}
就可以了,字段值加 ' 就可以了,如查询文章
"SELECT * FROM table WHERE id= '$id ' "

------解决方案--------------------
一般的主要注意以下几项:
脚本攻击(危害不太大主要是对客户端).
解决:将用户发表的文字用htmlspecialchars处理.

sql注入.
解决:
最好打开get_magic_quotes_gpc若未打开用addslashes替换用户以post或get方式传输的数据.
或限制传输的数据长度在安全范围内(比如限制1-2个char长),
或严格检查用户传输数据的类型.我见过有人在asp内检测关键字这是一个解决方法,但效率不高.

上传漏洞:
解决:
检查用户传输文件大小,限制其大小
检查用户传输文件的类型,绝对不允许用户传apache会解释的文件(检测文件后缀即可)

背份还原漏洞:
解决:
管理好管理员密码.做好日志

以上是我总结的一些黑客常用的攻击方法,还有什么方法希望大家补充,交流.

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
<🎜>掩盖:探险33-如何获得完美的色度催化剂
2 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1677
14
CakePHP 教程
1430
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
如何使用PowerShell自动执行任务 如何使用PowerShell自动执行任务 Feb 20, 2024 pm 01:51 PM

如果您是IT管理员或技术专家,您一定意识到自动化的重要性。尤其对于Windows用户来说,MicrosoftPowerShell是最佳的自动化工具之一。微软为满足您的自动化需求提供了各种工具,无需安装第三方应用程序。本指南将详细介绍如何利用PowerShell自动化执行任务。什么是PowerShell脚本?如果您有使用PowerShell的经验,您可能已经使用过命令来配置您的操作系统。脚本是.ps1文件中这些命令的集合。.ps1文件包含由PowerShell执行的脚本,例如基本的Get-Help

java如何发起http请求调用post与get接口 java如何发起http请求调用post与get接口 May 16, 2023 pm 07:53 PM

一、java调用post接口1、使用URLConnection或者HttpURLConnectionjava自带的,无需下载其他jar包URLConnection方式调用,如果接口响应码被服务端修改则无法接收到返回报文,只能当响应码正确时才能接收到返回publicstaticStringsendPost(Stringurl,Stringparam){OutputStreamWriterout=null;BufferedReaderin=null;StringBuilderresult=newSt

使用C#中的Array.Sort函数对数组进行排序 使用C#中的Array.Sort函数对数组进行排序 Nov 18, 2023 am 10:37 AM

标题:C#中使用Array.Sort函数对数组进行排序的示例正文:在C#中,数组是一种常用的数据结构,经常需要对数组进行排序操作。C#提供了Array类,其中有Sort方法可以方便地对数组进行排序。本文将演示如何使用C#中的Array.Sort函数对数组进行排序,并提供具体的代码示例。首先,我们需要了解一下Array.Sort函数的基本用法。Array.So

简单明了的PHP array_merge_recursive()函数使用方法 简单明了的PHP array_merge_recursive()函数使用方法 Jun 27, 2023 pm 01:48 PM

在进行PHP编程时,我们常常需要对数组进行合并。PHP提供了array_merge()函数来完成数组合并的工作,不过当数组中存在相同的键时,该函数会覆盖原有的值。为了解决这个问题,PHP在语言中还提供了一个array_merge_recursive()函数,该函数可以合并数组并保留相同键的值,使得程序的设计变得更加灵活。array_merge

如何使用PHP中的array_combine函数将两个数组拼成关联数组 如何使用PHP中的array_combine函数将两个数组拼成关联数组 Jun 26, 2023 pm 01:41 PM

在PHP中,有许多强大的数组函数可以使数组的操作更加方便和快捷。当我们需要将两个数组拼成一个关联数组时,可以使用PHP的array_combine函数来实现这一操作。这个函数实际上是用来将一个数组的键作为另一个数组的值,合并成一个新的关联数组。接下来,我们将会讲解如何使用PHP中的array_combine函数将两个数组拼成关联数组。了解array_comb

Curl Get命令的示例 Curl Get命令的示例 Mar 20, 2024 pm 06:56 PM

在Linux中,URL或Curl客户端是一个流行的命令行实用程序,允许您使用HTTPS、HTTP、FTP等多种协议在网络上传输数据。它允许您使用其get、post和request方法发送和接收数据。其中,你需要经常使用“get”方法。因此,学习各种方法和各种选项,你可以用来提高你的生产力变得至关重要。“执行卷曲操作非常简单,只需输入几个简单的命令即可完成。尽管这看似简单,但许多用户并未充分认识到其潜力。因此,这篇简短指南提供了一些关于在Linux系统中使用“curlget”命令的实例。”Curl

SpringBoot怎么用实体接收Get请求传递过来的多个参数 SpringBoot怎么用实体接收Get请求传递过来的多个参数 May 19, 2023 pm 06:01 PM

一、Controller层不带任何注解接收参数第一种方法是最简单的,严重怀疑以前怎么没有用,谁知道呢。。不过这次是真的管用了,最简单的方式就是Controller接口入参不加任何注解!!!SpringBoot自动做了处理。代码如下:/***@authorzhangzhixiang*@sincev1.0.0*/@RestController@RequestMapping(path="/ui/institution")publicclassInstitutionManagemen

如何更改Ubuntu的apt-get更新源? 如何更改Ubuntu的apt-get更新源? Jan 05, 2024 pm 03:40 PM

手动修改Ubuntu的apt-get源1、用ssh工具连接到Ubuntu(我用的xshell)2、命令行敲入cd/etc/apt/3、备份此目录下的source.list文件(要有sudo权限),此时就有了一个source.list.bak文件4、清空source.list文件内容(注:清空后不可恢复,所以需要执行上一步提前备份一下这个文件),此时用sudo提示权限不够,直接切换到root用户下执行这条命令5、用vim打开source.list,按i键进入编辑模式把要修改的源地址粘贴进来,然后按

See all articles