1,PHP注入的基本原理
程序员的水平和经验也参差不齐。程序员的很大一部分不判断用户输入数据时,写代码的合法性,使应用程序存在安全隐患。用户可以提交一个数据库查询代码,并获得一些数据,他想知道应用程序返回的结果,称为SQL注入,即SQL注入。受影响的系统:一个系统不检查和滤波器的输入参数。

SQL注入过程
通常,我们从地址接收一些必要的参数,例如:
在页面中,我们使用2来编写SQL语句。
正常条件:从id = 2的表中选择*

php100。phpid = 2
如果我们熟悉SQL语句,我们知道2可以替换我们需要的SQL语句。
例如:存在(从admin中选择ID)

2。预防注射的几种方法
事实上,我们需要过滤一些常用关键字并遵从:
选择、插入、更新、删除和*等
例子:
复制代码代码如下所示:
功能inject_check($ sql_str){
返回preg_match( /选择|插入更新删除| | | / / / / | * | / * | / / / / / / |。/ |联盟|为| load_file |文件 /我,sql_str美元); / /过滤器
}

或者通过过滤系统功能之间的特殊符号
Addslashes(需要过滤的内容)

3、PHP其他本地安全设置
register_globals =关闭设置为关闭状态
在编写SQL语句时,尽量不要省略小引号和单引号。
复制代码代码如下所示:
从id = 2(不规则)的表中选择*
从中选择*。表。哪里.ID = 2(规范)

提高数据库命名技巧,并根据程序的特点命名一些重要字段。
封装避免SQL语句直接暴露的常用方法

正确使用_post美元美元美元_get _session等验收参数和过滤