如何防止网站被SQL注入
1、我演示,找到一个有注入漏洞的 网站,注入点是这个搜索框,那么我们如何防止注入呢?

2、此图片,我们可以清楚的看出,搜索框提交的搜索关键词是参数q,我们输入“设备”这个关键词,在URL中式 &q=设备,那么提交的关键词就是参数q,我们 只需要写个程序,获取参数q的值,并且判断是否危险就行了

3、一般的建站程序都是PHP语言,这里以PHP页面为例,你在源码中找到搜索结果展示页面,也就是搜索功能主程序的php文件,然后粘贴上一下代码,一定要在你主程序前面添加,然后在你的搜索主程序代码的后面加上两个},那么也就是}}
$name=$_GET["q"];
if(empty($name)){ //如果为空
echo "<script type='text/javascript'>alert('请输入内容');history.back();</script>";
}else{
//SQL注入过滤程序
if(strpos($name,"'")||strpos($name,"#")||strpos($name,"$")||strpos($name,"%")||strpos($name,"*")||strpos($name,",")
||strpos($name,";")||strpos($name,"//")||strpos($name,"_")||$name=="'")
{
echo "<script language='javascript' type='text/javascript'>alert('你输入的关键词包含非法标点符号,请核对后再输入');//history.go(0);</script>";
}else{
if(strpos($name,"and1=1")||strpos($name,"and1=2")||strpos($name,"=")||strpos($name,"select"))
//$name == "and1=1"||$name == "and1=2")
{echo "<script language='javascript' type='text/javascript'>alert('别搞了,站长是渗透大神,几百年前的方法别拿出来丢人,给你点惩罚');window.location.href='http://www.aishangsoso.com/cf/1.html';</script>";
}else{
4、当然你的提交关键词的参数不一定是q,你只需要把$_GET['q'];里面的q换成你的参数名就可以了,如果你的<input>使用的是POST方式提交的数据,那么$_GET['q'];要把get换成POST

5、说说原理,这是一个我写的过滤SQL语句标点还有语句关键词的程序,(大神 别喷)三个判断句,带带SQL语句 的提示非法,如果输入的 内容包含and 1=1或者and 1=2的直接判断为恶意输入,然后运行惩罚脚本,然后,入侵者的浏览器就会boom!
1、当然,如果你觉得你没有代码基础或者嫌麻烦,你可以使用第二种方法,那就是用节点,这里列举两种,百度云加速和加速乐(直接百度输入名字搜索),要seo选择百度云加速,要安全选择加速乐(同套餐对比,个人意见)

2、我们注册一个账号,然后登陆进去,然后点击添加网站
3、输入你想要保护的网站,然后点击添加,里面的向导都很完善,你跟着他们的网站的向导来操作就行了,在这里就不一一演示了。

4、添加成功之后修改你网站域名的 DNS服务器,如果你使用的是别名方式,就不需要修改DNS,需要修改解析。
5、设置好后,等待几分钟,你会发现你的网站IP地址已经改变的,真实的服务器IP地址也已经隐藏了,看看效果吧,我们试着手工注入试试,输入and1=1或者输入SQL恶意语句,看吧,被节点拦截了

6、在这里提醒大家,如果你的网站赚钱,还是使用付费的套餐节点效果更好,如果不赚钱或者纯公益那就可以使用免费的