是否有用于PHP的mysql_real_escape_string的替代方案。我想删除输入到文本框中的任何javascript或php代码。用于PHP的mysql_real_escape_string的替代方案
回答
这不是mysql_real_escape_string做的或做的(功能现在为deprecated)。 mysql_real_escape_string的替代方法是使用预处理语句,例如PDO或MySQLi。
但是,这与从字符串中剥离Javascript或PHP代码完全无关 - 也;识别'Javascript'或'PHP'可能相对困难。
这里真正的问题是;你为什么想剥离它?危险不存在保存的数据,危险存在于显示的数据。永远不要执行用户输入的代码,无论是Javascript还是PHP。
对于Javascript,禁止在输出中使用HTML标签就足够了。看功能为strip_tags,甚至更好,htmlspecialchars。防止PHP执行更容易;只是不要使用方法eval。
您可以使用strip_tags()
- 它会删除所有html标签,包括javascripts。
有人可以告诉我,为什么downvotes?他问如何从文本中删除代码,这正是strip_tags所做的。 – 2014-10-30 09:35:09
我没有低调这一点,但我同意他们。 strip_tags删除html标签。它不会删除javascript(除非它在脚本标记中)或php(即使它在php标记中)。 – rjdown 2014-10-30 09:50:12
mysql_real_escape_string
是一个函数,可确保您的字符串正确地转义以进入数据库。进入数据库的内容正是你开始的。
删除或更改字符串的任何内容都不会替代mysql_real_escape_string
。换句话说,它会改变字符串,而不是逃避它。
如果要更改要存储的字符串,可以通过strip_tags
或preg_replace
运行它。
但是(如果它适合您的情况),请考虑在从数据库中检索之后通过htmlspeciachars
运行字符串,然后再显示它。
mysql_real_escape_string用于避免SQL注入攻击 - 人们试图对数据库执行SQL命令。 你仍然需要使用这个 - (或转移到PDO准备语句等)。
mysql_real_escape_string不是用来清理用户输入(例如html,javascript)的方式,这会使您的站点对XSS攻击开放。为此,我会推荐Html Purifier。
- 1. 用于ODBC的PHP bind_param替代方案?
- 2. mysql_real_escape_string的安全替代方法? (PHP)
- 3. 使用PHP的Apache RewriteLock替代方案?
- 4. 用于iPad的iPhone groupTableViewBackgroundColor替代方案
- 5. 用于MAC的SAS替代方案
- 6. PHP的非PHP替代方案包括
- 7. 用于使用旧版本php的strstr替代方案
- 8. php libcurl替代方案
- 9. PHP get_headers()替代方案
- 10. PHP的openssl_random_pseudo_bytes Golang的替代方案?
- 11. 用于Python结构的PHP替代方案
- 12. Node.js的PHP包函数替代方案
- 13. PHP头函数的替代方案
- 14. PHP 5.4.17“...运算符”的替代方案
- 15. 带有PHP的AppMobi/Phonegap替代方案
- 16. PHP邮件的替代方案
- 17. array_map的替代方案PHP 5.2
- 18. 用于从wsdl创建代理类的wsdl.exe的替代方案
- 19. JOptionPane的替代方案?
- 20. JQuery Slider的替代方案?
- 21. Firebug的替代方案
- 22. Treeview的替代方案
- 23. SELECT .. IN的替代方案(..)
- 24. SendMail的替代方案
- 25. FOP的好替代方案?
- 26. Python的shlex.split替代方案
- 27. iOS3的UILocalNotification替代方案
- 28. Cookie的替代方案
- 29. FontLoader的替代方案computeStringWidth
- 30. 。Perforce的.gitignore替代方案
strip_tags将是一个选项 – Gautam3164 2014-10-30 09:25:40
'mysql_real_escape_string'不是为删除JS或PHP代码而设计的......你想要做什么?在放入数据库之前转义数据?或者剥离JS/PHP代码? – Carpetsmoker 2014-10-30 09:26:03
在这里回答:http://stackoverflow.com/questions/1162491/alternative-to-mysql-real-escape-string-without-connecting-to-db – 2014-10-30 09:26:32