我在这里阅读了很多关于过滤用户输入的问答,但大多数时候答案是它取决于你正在做什么.这是我正在做的事情:
通过将在MySQL查询中使用的表单提交的数据:
function clean($fIEld,$link){ return MysqL_real_escape_string($fIEld,$link);}
通过表格提交的数据将显示在HTML / PHP页面或电子邮件中:
function output_HTML($value){ return stripslashes(HTMLspecialchars($value));}
从数据库显示的数据:
function output_db($value){ return stripslashes($value);}
这是否足以满足我的需求?有什么我不考虑的吗?
谢谢!
最佳答案在将字符串插入SQL查询时,无论输入来自何处,都使用MysqL_real_escape_string().将字符串插入HTML代码时,都使用HTMLspecialchars()或HTMLentitIEs().
将值插入URL的查询字符串时,请使用urlencode(),无论值来自何处.
如果这些数据来自用户,那么你肯定应该做这些事情,因为用户有可能尝试做坏事.但是除了安全性之外 – 如果你想将一个合法的字符串插入一个SQL查询并且该字符串碰巧只有一个单引号字符怎么办?你仍然必须逃脱它.
总结以上是内存溢出为你收集整理的php – 过滤用户输入全部内容,希望文章能够帮你解决php – 过滤用户输入所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)