方法一,代码如下:
strip_tags --- 去除字串中的html和php标签
方法一,代码如下:
strip_tags --- 去除字串中的html和php标签
本文章提供这款防sql注入代码是一款php sql双过滤非法字符的函数,他可以根据用户自定的防sql注入,先是过滤一些sql命令,再是就是把post get 过滤一次,最好验证.
php通用防注入主要是过滤一些sql命令与php post get传过来的参考我们/要过滤一些非法字符,这样可以防止基本的注入了,那关第于apache 服务器安装设置方法也是必须的,管理员用户名和密码都采取md5加密,这样就能有效地防止了php的注入.
最近网站经常被攻击,后来想到了一个利用php来防止网站受攻击的办法,下面是我的代码,代码不是最好的,根据自己的需求来做,下面来看看我的代码.
(1) 打开php的安全模式
php的安全模式是个非常重要的内嵌的安全机制,能够控制一些php中的函数,比如system(),同时把很多文件操作函数进行了权限控制,也不允许对某些关键文件的文件,比如/etc/passwd,但是默认的php.ini是没有打开安全模式的,我们把它打开:
当要在防止页面攻击时,可在页面的头部include防攻击文件,就像通用防注入文件,我们可以用三种情况来办到:
1、在每个文件内引用,这样的文件是可以,不过如果一个网站内有几百个文件的话就不方便了.
1.如果动态构造的sql语句中包含参数,请必须对参数做如下操作:
a.将'(单引号)替换成''(两个单引号)
首先我们推荐filter_sanitize_string ,filter_sanitize_string 过滤器去除或编码不需要的字符.
这个过滤器删除那些对应用程序有潜在危害的数据,它用于去除标签以及删除或编码不需要的字符.
要防sql注入我必须从sql语句到php get post 等数据接受处理上来做文章了,下面我们主要讲php 与mysql的sql语句上处理方法,可能忽略的问题.
看这个例子,代码如下:
为了数据安全,防止注入需要过滤$_GET获得的字符串,一开始我还自已写过滤的函数,后来看到php自带的一个过滤函数,所以把addslashes推荐给大家.
一个使用 addslashes() 的例子是当你要往数据库中输入数据时,例如,将名字 O'reilly插入到数据库中,这就需要对其进行转义,大多数据库使用作为转义符:O'reilly,这样可以将数据放入数据库中,而不会插入额外的,当 PHP 指令 magic_quotes_sybase 被设置成 on 时,意味着插入 ' 时将使用 ' 进行转义.