网站常遇到的攻击性问题几点防御

一、最基本的SQL注入

//防止SQl注入函数

//给提交到服务器端的数据用这个函数过滤一下
(1)

function data_filter($data){
    if (get_magic_quotes_gpc()) {  
        return $data = stripslashes($data); 
    }else{  
        return $data = mysql_real_escape_string($data); 
    } 
}

(2)

if (ini_get('magic_quotes_gpc')) {
function stripslashesRecursive(array $array){
foreach ($array as $k => $v) {
if (is_string($v)){
$array[$k] = stripslashes($v);
} else if (is_array($v)){
$array[$k] = stripslashesRecursive($v);
}
}
return $array;
}
$_GET = stripslashesRecursive($_GET);
$_POST = stripslashesRecursive($_POST);
}


二、自己平台的一个表单提交入库,别人是可以知道你的这个地址,他自己在另一个服务器写一个表单脚本用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里面,他就  回不去了,,,回不去了,,,我们已成过去回不去了……

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值