过安全狗php
‘壹’ 如何防止代码注入攻击在php
一,HTML防注入。
一般的html注入都是在字符串中加入了html标签,用下JAVA代码可以去掉这部分代码。
代码如下,自己封装成方法即可。
String msge = "asdasdasdasd <div id=\"f\">asdfsdf";
System.out.println(msge);
msge = msge.replace("&", "&");
msge = msge.replace("<", "<");
msge = msge.replace(" ", " ");
msge = msge.replace(">", ">");
msge = msge.replace("\"", """);
msge = msge.replace("'", "&qpos;");
System.out.println(msge);
二、防SQL注入
最简单最容易的是限制用户输入。
简单点的就是不允许用户输入单引号 和 --,因为单引号号--在SQL中都是影响执行的。
但SQL注入是多方面的,防止的方法也有很多种。
1、地址栏禁止特殊字符防SQL注入
把特殊字符(如and、or、'、")都禁止提交就可以防止注入了。
2、php过滤html字符串,防止SQL注入
批量过滤post,get敏感数据
$_GET = stripslashes_array($_GET);
$_POST = stripslashes_array($_POST);
数据过滤函数
function stripslashes_array(&$array) {
while(list($key,$var) = each($array)) {
if ($key != 'argc' && $key != 'argv' && (strtoupper($key) != $key || ''.intval($key) == "$key")) {
if (is_string($var)) {
$array[$key] = stripslashes($var);
}
if (is_array($var)) {
$array[$key] = stripslashes_array($var);
}
}
}
return $array;
}
3、替换HTML尾标签
function lib_replace_end_tag($str)
{
if (empty($str)) return false;
$str = htmlspecialchars($str);
$str = str_replace( '/', "", $str);
$str = str_replace("\\", "", $str);
$str = str_replace(">", "", $str);
$str = str_replace("<", "", $str);
$str = str_replace("<SCRIPT>", "", $str);
$str = str_replace("</SCRIPT>", "", $str);
$str = str_replace("<script>", "", $str);
$str = str_replace("</script>", "", $str);
$str=str_replace("select","select",$str);
$str=str_replace("join","join",$str);
$str=str_replace("union","union",$str);
$str=str_replace("where","where",$str);
$str=str_replace("insert","insert",$str);
$str=str_replace("delete","delete",$str);
$str=str_replace("update","update",$str);
$str=str_replace("like","like",$str);
$str=str_replace("drop","drop",$str);
$str=str_replace("create","create",$str);
$str=str_replace("modify","modify",$str);
$str=str_replace("rename","rename",$str);
$str=str_replace("alter","alter",$str);
$str=str_replace("cas","cast",$str);
$str=str_replace("&","&",$str);
$str=str_replace(">",">",$str);
$str=str_replace("<","<",$str);
$str=str_replace(" ",chr(32),$str);
$str=str_replace(" ",chr(9),$str);
$str=str_replace(" ",chr(9),$str);
$str=str_replace("&",chr(34),$str);
$str=str_replace("'",chr(39),$str);
$str=str_replace("<br />",chr(13),$str);
$str=str_replace("''","'",$str);
$str=str_replace("css","'",$str);
$str=str_replace("CSS","'",$str);
return $str;
}
三、专业的事情交给专业的工具去做。
安装安全软件。例如,在服务器中安装“服务器安全狗”,可以设置防注入,防攻击的设置,只要设置好安全规则,就可以屏蔽大多数攻击入侵。
‘贰’ 服务器安全狗怎样配置
导语:网站安全狗是安全狗旗下的一款集网站内容安全防护、网站资源保护、网站加速及网站流量保护功能为一体的服务器工具。下面我为您收集整理了服务器安全狗配置,欢迎阅读!
1、下载网站安全狗到服务器上,安装完成后,即可对网站进行防护。在网络上搜索“安全狗”就可以看到官网信息。
2、可利用扫描功能 对网站进行整体扫描,看网站是否存在安全威胁,如是否被挂马、被挂黑链、是否存在网页木马、以及畸形文件等。
3、开启主动防御。包括网站漏洞防护、网马防护、危险组件防护、禁止IIS执行程序、一句话后门防护。【开启之后记得要点击保存,才能生效】
网站漏洞防护可以防SQL、XSS等注入行为;
网马防护主要是拦截上传或浏览的网页木马,保护网站安全;
危险组件防护,前面拦截恶意代码对组件的调用权限;
禁止IIS执行程序,全面拦截IIS执行恶意程序;
一句话后门防护,可有效拦截PHP一句话后门。
开启CC攻击防护。
4、CC攻击(ChallengeCollapsar)是借助代理服务器生成指向受害主机的合法请求,实现DOS和伪装。模拟多个用户不停的进行访问那些需要大量数据操作,大量CPU时间的页面,使得页面打开速度缓慢。CC攻击防护基本原理是防止一个IP多次不断刷新而断开与该IP得连接,防止服务器瘫痪,达到了防攻击目的。
5、在进行访问规则设置的时候,如果是新手,建议直接使用默认值。同时该设置也支持自主设置,用户可根据实际情况设置参数,已达到最佳防护效果。
开启资源保护,包括资源防盗链、网站特定资源保护、网站后台防护等,保护网站安全。
6、在网站后台防护中,建议启用临时黑名单,比如说60秒内非法访问3次,将会被冻结5分钟,5分钟后才可继续使用。参数,用户可以根据自己的实际情况进行设置。设置后,记得点击保存生效。
启用网站加速,主要针对图片、视频、js、flash等静态资源进行加速,操作简单易用。
网站加速功能默认是关闭的,如有需要可进行开启。点击“开启按钮”开启网站加速服务,随后把想加速的.网站添加到列表中并开启加速即可。(需要注意的是,如果没有加入安全狗服云,点击开启时,就会看到一个提示:“加入服云,才能开启使用网站加速功能”。)
7、IP黑白名单的设置。
IP白名单设置可以通过设置一些值得信赖IP地址为白名单地址,从而使它们能够顺利的访问网站;
IP黑名单是相对白名单进行设置的,目的是为了通过设置一些不良IP地址为黑名单地址,从而限制它们访问网站。
用户可以点击“启用”选项开启IP黑白名单功能,设置好后需要保存!
8、可以在网站安全狗防护日志中查看到每日防护具体信息,便于你及时调整安全防护措施。同时,如果想把哪个被拦截IP添加到IP黑白名单,可直接选中某个日志,右键单击即可把IP添加到黑白名单中。
网站安全狗的功能很强大,还有很多细节信息并没有一一写出来,大家如有需要可以到官网详细了解一番。同时安全狗的其他产品服务:服务器安全狗、安全狗服云等也可以了解下,比如说:安全狗服云手机端,可以远程管理服务器和网站安全等。
‘叁’ 上传php文件被安全狗拦截怎么办
安全狗安全吗,。。。了,还占用资源~~~
那你看看安全狗没有类似白名单的设置~~~把你的文件加入即可~~~
‘肆’ 安全狗禁止上去php文件怎么破
上传本身就防止一些可能带有病毒文件的文件上传
理论上可以上传任何文件,安全狗既然限制,那只能修改其内部设置,要不别想
记得用图片隐藏其他类文件欺骗上传的,不过那个玩的深- -
‘伍’ 采集新闻 被安全狗阻止,php检测新闻网址更新条数时 被阻止,通过是curl
两种方式,伪造ip可以解决,也可以设置采集的间隔点时间,两次数据采集时间稍微拉长一些!