V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ovear  ›  全部回复第 39 页 / 共 117 页
回复总数  2334
1 ... 35  36  37  38  39  40  41  42  43  44 ... 117  
2017-05-20 20:24:41 +08:00
回复了 xiaoyanbot 创建的主题 PHP 使用 PDO 的 prepare 预处理,能 100%防止 SQL 注入吗?
算了,还是我翻一下吧

However, be aware that PDO will silently fallback to emulating statements that MySQL can't prepare natively
然而,你必须注意,有一些语句 MySQL 并不能直接 prepare,这时候 PDO 会静默回退到 SQL 拼接,并且启用 PHP 内置的 prepare 模拟器。

The important thing to realize here is that PDO by default does NOT do true prepared statements. It emulates them (for MySQL). Therefore, PDO internally builds the query string, calling mysql_real_escape_string() (the MySQL C API function) on each bound string value.
你必须清楚,PDO 并 不不不不不不不 会 总是执行真正的 prepare 操作。它会通过自带的 prepare 模拟器,进行模拟。 因此,在这种情况下,PDO 会在内部直接 拼接语句,然后通过 mysql_real_escape_string 来对输入参数进行过滤,防止注入。
2017-05-20 20:12:02 +08:00
回复了 xiaoyanbot 创建的主题 PHP 使用 PDO 的 prepare 预处理,能 100%防止 SQL 注入吗?
@bianhua
However, be aware that PDO will silently fallback to emulating statements that MySQL can't prepare natively

请再认真的读一遍这句话。
2017-05-20 20:02:34 +08:00
回复了 xiaoyanbot 创建的主题 PHP 使用 PDO 的 prepare 预处理,能 100%防止 SQL 注入吗?
@bianhua 简而言之
pdo 的核心在于 databind
比如说你写 select * from post where fid = ? and username = ?
那么在 pdo 的情况下,mysql 接收到的就是这个语句,带有未知参数的 sql 语句。
然后 MySQL 的语法分析器,会对这句语句直接进行分析,然后得出带有未知参数的内部语句
然后 PHP 会把与之绑定的参数再传过去,然后 MySQL 再用完形填空的形式,把数据填上。
因为这时候已经完成语义分析了,任何传输过来的数据,都仅仅被当做数据处理,而不会影响语义。
这种情况下,除非 MySQL 内部有内存溢出之类的 BUG,不然都是安全的。

而你举例的这个问题在于,PHP 没有这么操作,而是因为某种原因,回退到 SQL 语句拼接了,只不过是 PHP 自动拼接的。
那么 MySQL 接受到的是已经拼接好的语句了,那这时候如果 PHP 自己的过滤没做好, 导致语义发生了变化,MySQL 也无能为力。
2017-05-20 19:18:21 +08:00
回复了 xiaoyanbot 创建的主题 PHP 使用 PDO 的 prepare 预处理,能 100%防止 SQL 注入吗?
@bianhua

However, be aware that PDO will silently fallback to emulating statements that MySQL can't prepare natively

请认真朗读上句。。这是一个 bug 级别的东西,下面看评论已经提交给 php 官方了。
MySQL 的 databind 是通过二进制传输的,他的语法检测器根本不是 sql 语句,哪来的注入。。至于 fallback 的问题,得找 php 官方问下为什么会 fallback 了。
2017-05-20 18:56:22 +08:00
回复了 lada04 创建的主题 微信 从 Q 群/微信群 快速获取「有效」信息的 办法?
找个秘书
2017-05-20 18:55:05 +08:00
回复了 xiaoyanbot 创建的主题 PHP 使用 PDO 的 prepare 预处理,能 100%防止 SQL 注入吗?
2017-05-20 16:26:35 +08:00
回复了 KillThunder 创建的主题 问与答 在 Linux 环境安装 nginx 后无法访问
iptables -F
service iptables save
2017-05-18 12:26:07 +08:00
回复了 banxi1988 创建的主题 Kotlin 期待了两三年,终于看到 Kotlin 转正了.
毕竟跟 Oracle 爸爸关系不好,看来我可以考虑学习 Android 开发了

不过 java9 哭了。。
10T 变 10G。。别人发公告都多久了。。
2017-05-13 14:13:20 +08:00
回复了 ibeta 创建的主题 全球工单系统 rixCloud 对不起,我不该爆粗口
2017-05-13 09:41:07 +08:00
回复了 baskice 创建的主题 问与答 最近加密病毒泛滥啊怎么防?
重要文件丢 nas 啊。。然后大部分同步系统都有版本管理系统
2017-05-13 09:36:16 +08:00
回复了 wildlynx 创建的主题 深圳 被深圳通给恶心了
有很多啊,你要去大型地铁站,比如说世界之窗的人工买票窗口那,才有租赁卡。而且每个站还有自己的纪念卡。
2017-05-12 19:40:52 +08:00
回复了 czmecho 创建的主题 宽带症候群 广州电信不限流量电话卡+200M 光纤 只需要 209 元/月
这是在对付联通的沃家庭。。好像也是差不多这个价,具体忘了。也有宽带
为什么你们都这么熟悉啊
2017-05-11 20:35:40 +08:00
回复了 chlo0823 创建的主题 分享发现 2017 新版程序猿的"鄙视链",你落在哪一层?
@chlo0823 好了
2017-05-11 20:10:41 +08:00
回复了 chlo0823 创建的主题 分享发现 2017 新版程序猿的"鄙视链",你落在哪一层?
@chlo0823 我网络问题也不会报 502 呀
2017-05-11 20:04:44 +08:00
回复了 chlo0823 创建的主题 分享发现 2017 新版程序猿的"鄙视链",你落在哪一层?
2017-05-11 19:46:46 +08:00
回复了 NullMan 创建的主题 问与答 50 元有偿求 ffmpeg 剪切、合并、转码的命令,真的是有偿!
LZ 啊。。50 快还是不要说价格了。。
)估计会被喷
2017-05-10 12:00:18 +08:00
回复了 harker 创建的主题 锤子手机 昨天坚果 Pro 发布,大家对老罗的相声怎么看?
@paradoxs
为什么苹果不需要辨别 app 是否有害,安卓就需要?
--- 真的忍不住, 这也能问啊? 你安卓浏览器下载 APP, 直接就运行了, APP 有问题怎么办?
------ 真的忍不住,这也能喷啊?你苹果浏览器打开 360 下载,直接就运行了,APP 有问题怎么办?
2017-05-10 10:42:11 +08:00
回复了 msn1983aa 创建的主题 Apple 之前抱怨过 AirPods 连 iPhone 难,问题终于准确定位了
不,是逼你买两台 iphone
1 ... 35  36  37  38  39  40  41  42  43  44 ... 117  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1452 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 48ms · UTC 16:56 · PVG 00:56 · LAX 09:56 · JFK 12:56
Developed with CodeLauncher
♥ Do have faith in what you're doing.