一、最基本的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里面,他就 回不去了,,,回不去了,,,我们已成过去回不去了……