电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

PHP代码安全性的规范VIP免费

PHP代码安全性的规范_第1页
1/30
PHP代码安全性的规范_第2页
2/30
PHP代码安全性的规范_第3页
3/30
PHP代码安全性的规范 1、 SQL 注入 1.1 概念 所谓 SQL 注入,就是通过把 SQL 命令插入到 Web 表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL 命令。 1.2 危害 ➢ 查询数据库中敏感信息。 ➢ 绕过认证。 ➢ 添加、删除、修改服务器数据。 ➢ 拒绝服务。?id=(BENCHMARK(100000000, MD5(RAND())); 1.3 原因 ➢ php 配置文件 php.ini 中的 magic_quotes_gpc 选项没有打开,被置为 off ➢ 开发者没有对数据类型进行检查和转义 第二点最为重要?因为如果没有第二点的保证,magic_quotes_gpc 选项,不论为 on,还是为 off,都有可能引发 SQL 注入攻击。 1.4 例子 ➢ magic_quotes_gpc = Off 时的注入攻击 magic_quotes_gpc = Off 是 php 中一种非常不安全的选项。新版本的 php 已经将默认的值改为了 On。但仍有相当多的服务器的选项为 off。 当magic_quotes_gpc = On 时,它会将提交的变量中所有的 '(单引号)、"(双号号)、\(反斜线)、空白字符,都为在前面自动加上 \。下面是 php 的官方说明: magic_quotes_gpc boolean Sets the magic_quotes state for GPC (Get/Post/Cookie) operations. When magic_quotes are on, all ' (single-quote), " (double quote), \ (backslash) and NUL's are escaped with a backslash automatically 如果没有转义,即 off 情况下,就会让攻击者有机可乘。 当用户输入正常的用户名和密码,假设值分别为 zhang3、abc123,则提交的 SQL 语句如下: SELECT * FROM tbl_users WHERE username='zhang3' AND password = 'abc123' LIMIT 0,1 如 果 攻 击 者 在 username 字段中输入:zhang3' OR 1=1 #,在 password 输入 abc123,则提交的 SQL 语句变成如下: SELECT * FROM tbl_users WHERE username='zhang3' OR 1=1 #' AND password = 'abc123' LIMIT 0,1 由于 # 是 mysql 中的注释符, #之后的语句不被执行,实现上这行语句就成了: SELECT * FROM tbl_users WHERE username='zhang3' OR 1=1 这样攻击者就可以绕过认证了。如果攻击者知道数据库结构,那么它构建一个 UNION SELECT,那就更危险了: 假设在 username 中输入:zhang3 ' OR 1 =1 UNION select cola, colb,cold FROM tbl_b # 在 password ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

PHP代码安全性的规范

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部