导航:首页 > 编程语言 > php危险字符

php危险字符

发布时间:2023-09-06 16:48:20

‘壹’ php中防止SQL注入,该如何解决


防sql注入的一个简单方法就是使用框架,一般成熟框架中会集成各种安全措施。

当然也可以自己处理,如果用户的输入能直接插入到SQL语句中,那么这个应用就易收到SQL注入的攻击。我认为最重要的一点,就是要对数据类型进行检查和转义。

php.ini

------------

display_errors 选项,应该设为display_errors = off。这样 php 脚本出错之后,不会在 web 页面输出错误,以免让攻击者分析出有作的信息。

打开magic_quotes_gpc来防止SQL注入,magic_quotes_gpc= Off,这个默认是关闭的,如果它打开后将自动把用户提交对sql的查询进行转换,比如把 ' 转为 '等,对于防止sql注射有重大作用。如果magic_quotes_gpc=Off,则使用addslashes()函数。


mysql 函数

---------------

调用mysql_query 等mysql 函数时,前面应该加上 @,即 @mysql_query(...),这样 mysql 错误不会被输出。同理以免让攻击者分析出有用的信息。另外,有些程序员在做开发时,当mysql_query出错时,习惯输出错误以及sql 语句。

mysql_real_escape_string -- 转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集。


Sql语句

------------

对提交的 sql 语句,进行转义和类型检查。如果请求是数值型,那么调用is_numeric() 判断是否为数值。如果不是,则返回程序指定的默认值。简单起见,对于文本串,我将用户输入的所有危险字符(包括HTML代码),全部转义。由于php 函数addslashes()存在漏洞,我用str_replace()直接替换。get_magic_quotes_gpc()函数是php 的函数,用来判断magic_quotes_gpc 选项是否打开。


其它

---------

使用预处理语句和参数化查询(PDO或mysqli)。预处理语句和参数分别发送到数据库服务器进行解析,参数将会被当作普通字符处理。这种方式使得攻击者无法注入恶意的SQL。

阅读全文

与php危险字符相关的资料

热点内容
如何让吃鸡苹果号登录安卓号 浏览:72
服务器名称怎么查询 浏览:432
直播要怎么推广app 浏览:76
安卓10id如何计算 浏览:601
求3的倍数python 浏览:675
江苏好服务器优质推荐云空间 浏览:139
用php做一个留言板 浏览:226
app灰色页面怎么回事 浏览:57
最长连续递减子序列python 浏览:154
电脑编译系统有哪些 浏览:914
新建的文件夹另一部手机读不出来 浏览:989
怎么把安卓app传到新iphone 浏览:37
安卓服务器如何关闭 浏览:581
linux登陆不了 浏览:553
单片机供电时出现乱码 浏览:612
解压ae要多久 浏览:51
江苏省超级服务器云主机 浏览:160
星际译王linux安装 浏览:4
导微信账单不发解压码是什么情况 浏览:96
如何手动删除安卓app 浏览:11