很多站长朋友们都不太清楚php防止攻击函数,今天小编就来给大家整理php防止攻击函数,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP网站要防哪几种常见方式攻击? 2、 求php防止被sql 注入攻击的过滤用户输入内容的函数 3、 php防止sql注入以及xss跨站脚本攻击 PHP网站要防哪几种常见方式攻击?常见攻击方式:1、命令注入,2、eval注入,3、客户端脚本攻击,4、跨网站脚本攻击,5、SQL注入攻击,6、跨网站请求伪造攻击,7、Session 会话劫持,8、Session 固定攻击,9、HTTP响应拆分攻击,10、文件上传漏洞,11、目录穿越漏洞,12、远程文件包含攻击,13、动态函数注入攻击,14、URL攻击,15、表单提交欺骗攻击,16、HTTP请求欺骗攻击
求php防止被sql 注入攻击的过滤用户输入内容的函数function clean($v) {
//判断magic_quotes_gpc是否为打开
if (!get_magic_quotes_gpc()) {
//进行magic_quotes_gpc没有打开的情况对提交数据的过滤
$v = addslashes($v);
}
//把'_'过滤掉
$v = str_replace("_", "\_", $v);
//把'%'过滤掉
$v = str_replace("%", "\%", $v);
//把'*'过滤掉
$v = str_replace("*", "\*", $v);
//回车转换
$v = nl2br($v);
//html标记转换
$v = htmlspecialchars($v);
return $v;
}
如果需要,还可以屏蔽一下危险字符,例如insert, update, delete等
//将update去掉
$v = str_replace("update", "", $v);
最后,在拼装sql语句时,用户输入的东西,全括在单引号内
php防止sql注入以及xss跨站脚本攻击1.post数据
封装转义函数 防sql注入 eag:addslashes($username);addslashes($password);
eag:防止sql注入函数封装
function deepslashes($data){
#判断$data的表现形式 并且需要处理空的情况
if(empty($data)){
return($data);
}
#高级简写 return is_array($data) ? array_map('deepslashes',$data) : addslashes($data);
#初级写法
if(is_array($data)){
#递归循环遍历处理多维数组
foreach ($data as $v) {
return deepslashes($v);
}
}else{
#单一变量
return addslashes($data);
}
#初级写法
}
2.get数据
指url 传参数导致sql发生改变
解决方案
①强制转换,使用函数intval 或者 数据类型 的关键字int
②隐式转换,通过运算,只需要+0即可
3.xss跨站脚本攻击
指恶意攻击向web页面插入html、js标签导致页面出现错误
解决方案
转义标签'<' '>'即可,有以下php函数可解决
htmlspecialchars 函数 和 htmlentites函数
eag:
function deepslashes($data){
#判断$data的表现形式 并且需要处理空的情况
if(empty($data)){
return($data);
}
return is_array($data) ? array_map('deepslashes',$data) : htmlspecialchars ($data);
}
关于php防止攻击函数的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php防止攻击函数 php怎么防止xss攻击的详细内容...