导航:首页 > 编程语言 > 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危险字符相关的资料

热点内容
苏宁程序员需要注意什么 浏览:557
主力离场指标源码 浏览:345
makefilelinux命令 浏览:214
电解压力表三根线怎么接 浏览:255
够近物联app怎么样 浏览:329
网络中心服务器是什么 浏览:64
php匹配多次 浏览:347
安卓手机怎么找到不是正常文件的 浏览:291
应届生如何成为程序员 浏览:648
麦德龙app怎么更改配送方式 浏览:43
用ae压缩视频文件 浏览:480
stc单片机跑马灯 浏览:612
服务器四口卡怎么用 浏览:609
匹配python注释 浏览:408
什么是程序员才懂得梗 浏览:396
pdftodwgconverter 浏览:960
linux找不到sqlplus 浏览:399
什么app五险在哪里查询 浏览:925
单片机农历 浏览:438
g70如何编程 浏览:648