php 注入
这个是有结果的,运行正确的,和一般想的不一样,单引号里面可以套单引号,只要里面的单引号是被转义过的
SELECT * FROM `users` WHERE name = “a\'b\'d“
这个不会报错,因为是双引号包括起来的
所以说当where后面的字符串里面含有'时候,需addslashes, sql是可以识别的,就是sql为了防止注入提供的接口啊。
一般来说,防注入就是where后面的字符串让别人多加了 'or 1 = 1' 如果这样的话,就会被别人吧数据全部拿走了。很危险。
sql语句里面的变量要经过严格的验证, 还有一招就是参数化绑定。
这样的语句就比较危险了,怎么办?
SELECT * FROM `users` WHERE name = "root" SELECT * FROM `users` WHERE name = ‘root’ //这个不行 SELECT * FROM `users` WHERE name = root //下面都是可以的 SELECT * FROM `users` WHERE uid = "1" LIMIT 0 , 30 SELECT * FROM `users` WHERE uid = 1 LIMIT 0 , 30 SELECT * FROM `users` WHERE uid = '1' LIMIT 0 , 30 就是说where后面有两种情况,
1 数字,必须要intval,不然别人加了 or 1 = 1 就完蛋了。
2 字符串,必须加addslashes 不然被人加了 ' or 1 = 1 也就完蛋了。
PHP7.0~PHP7.1~PHP7.2~PHP7.3~PHP7.4新特性php 7.4
PHP7.0~PHP7.1~PHP7.2~PHP7.3~PHP7.4新特性php 7.2 7.3
PHP之——在WAMPSERVER下增加多版本的PHP(PHP5.3,PHP5.4,PHP5.5)支持。wampserver打开php项目
PHP之——在WAMPSERVER下增加多版本的PHP(PHP5.3,PHP5.4,PHP5.5)支持。wampserver开发php网页
PHP配置指令作用域说明(PHP,INI,PERDIR、PHP,INI,SYSTEM、PHP,INI,USER、PHP,INI,ALL)php 作用域
PHP - 什么是 PHP? 为什么用 PHP? 有谁在用 PHP?为什么说php
[PHP] PHP的纯CPU基准测试(PHP5.5.9 vs PHP7.2.1)php性能测试
[PHP问题]PHP Warning: PHP Startup: Unable to load dynamic library ‘C:/AppServ\php5php基础问题
PHP加密方法-用Zend Encoder加密PHP文件和PHP 优化配置(PHP文件加密)php zend解密