【发布时间】:2011-09-17 23:52:36
【问题描述】:
人们使用 stripslashes 的目的是什么?它通常与 addlashes 一起使用吗?为什么要在用户提交的字符串中去除或添加斜杠?
【问题讨论】:
-
因为当你从用户那里收到它时,你可能已经逃脱了它
-
你不应该。这是撤消 magic_quotes 变通方法的变通方法。
标签: php stripslashes
人们使用 stripslashes 的目的是什么?它通常与 addlashes 一起使用吗?为什么要在用户提交的字符串中去除或添加斜杠?
【问题讨论】:
标签: php stripslashes
您应该始终清理用户的输入。但不适用于addslashes()...如果您想使用用户的输入组合查询,请使用适当的数据库转义机制(查看mysql_real_escape_string() 和PDO prepared statements)。
清理用户输入的原因是安全性。了解 SQL injection 和 cross-site scripting,这是两个最常见的由未经过滤的输入引起的安全问题。
【讨论】:
stripslashes() 不会清理语句...你不需要使用 stripslashes() 除非你有一个包含 \' 序列的字符串并且你想删除反斜杠。
mysql_real_escape_string() 确保字符串正确传递给查询,因此不会出现任何额外的斜杠。取回字符串时不需要使用stripslashes()。但是,当向用户显示不是您自己编写的任何文本(例如从数据库或从其他用户获得的文本)时,请使用htmlspecialhars()。