[置顶] 网站常遇到的攻击性问题几点防御

一、最基本的SQL注入

//防止SQl注入函数

//给提交到服务器端的数据用这个函数过滤一下
function data_filter($data){
    if (get_magic_quotes_gpc()) {  
        return $data = stripslashes($data); 
    }else{  
        return $data = mysql_real_escape_string($data); 
    } 
}


二、自己平台的一个表单提交入库,别人是可以知道你的这个地址,他自己在另一个服务器写一个表单脚本用for循环不断提交表单给此地址,此地址如果没做防护,则会被这种行为造成数据库崩溃,所以说咱们待想个办法,如下:

/*
 * PHP防止站外提交数据的方法防止站外有人写循环攻击数据库
 * 域名一致性判断
 */
function CheckURL(){  
$servername=$_SERVER['SERVER_NAME'];    //当前服务器域名
$sub_from=$_SERVER["HTTP_REFERER"];     //上一个页面的服务器域名
$sub_len=strlen($servername);                  
$checkfrom=substr($sub_from,7,$sub_len);   
if($checkfrom!=$servername)die("孩子,你是要通过这种方式搞我的数据库?想想其他方法吧 f u c k!");  //校验一致性即可
}  

三、通过浏览器,提交了表单,数据库操作成功了,但是他通过浏览器的返回,返回上一页,又一次提交数据,这样会造成一条信息多次填写,如何避免,很简单如下:

 window.history.forward(1); //加到js里面,他就  回不去了,,,回不去了,,,我们已成过去回不去了……

你可能感兴趣的:(sql注入,服务器,域名,防攻击)