PHP 处理表单数据的一个安全回顾(记录教训)
曾经看过一个讲 PHP 代码安全的文章中写过这么一条
表单输入数据要做 htmlspecialchars_decode 处理
表单输出数据要做 htmlspecialchars 处理
当时还不是很理解为什么,自己也没遇到问题,所以就没做
然而不是不报 时候未到 今天终于遇到了这个坑
<input type="text" value="<?php echo $value; ?>">
当采用上面代码输出的时候
假如 $value 里面有 " 双引号 那么value这个键将会被提前闭合,造成表单数据显示不完全,而且会多出来其他内容被识别为键的情况
这下就惨了 所有这么输出的地方都要处理了,暂时也只能头痛医头,脚痛医脚了,先做转义好了