
1 b821025551b 2016 年 4 月 29 日 关键词: sql 注入, xss |
2 shiny PRO 可以考虑 filter_input 或者框架集成 |
3 chend 2016 年 4 月 29 日 对于 整形 我直接 intval() 对于字符串 直接 htmlspecialchar() 也不知道 有没有隐患。。。 |
4 Exin OP @b821025551b 不是这个问题。 我的问题是"检测变量是否被传入"而不是验证"已传入变量的安全性"。 |
5 b821025551b 2016 年 4 月 29 日 @Exin 个人感觉:安全性(数据库)方面应该没什么影响,但是基于书本上说的,“安全性是系统设计、实现和管理的一部分,其作用是保证系统可以完全按照人们想要的方式运行”,那么不监测是否传入空值,从而产生异常程序死掉,这个程序就是“不安全”的。至于危害, 站在测试人员角度:空值导致程序非正常运行, bug ,滚回去改; 站在运维人员角度:满屏的 500 ,这么多 bug 滚回去改; 站在用户角度:什么**网站, f ** k ,又**死了。 那么你就第 N + 1 遍改代码喽。 |
6 Exin OP @b821025551b 谢谢。 |
7 zrp1994 2016 年 4 月 29 日 |
8 xmbaozi 2016 年 4 月 29 日 isset($_GET) 必定是 true 啊 |
10 xmbaozi 2016 年 4 月 29 日 via Android 如果没有参数就是数组的键不存在,会有一个 notice ,不是致命错误,所以不会 500 |
11 iyaozhen 2016 年 4 月 29 日 via Android 还是要检测的,自己封装一个方法吧,不存在的时候给个默认值。 |
12 zjqzxc 2016 年 4 月 29 日 $val = isset($_GET['key']) ? $_GET['key']:0; 如果不存在就给个默认值进去 |
14 mahone3297 2016 年 4 月 29 日 这跟 php 没什么关系吧,其他语言,你也要判断吧。。。 |
15 Exin OP @mahone3297 限定一下范围有助于话题展开。 |
16 msg7086 2016 年 4 月 30 日 @mahone3297 ruby 可以用 guard operator ,不用这么麻烦。 |