我要来回处理这个问题,所以我想在这里问。我希望有一种适用于所有输入字段(文本,选择,文本区域)的技术。
首先,我们使用php脚本处理用户输入。可能会有一些验证错误,因此可能需要使用用户输入的值重新显示表单。 htmlspecialchars($fieldValue, ENT_QUOTES)
在这里不起作用,因为如果出现验证错误并重新显示表单,则用户输入的所有引号都将转换为\“。至少在文本区域中。
表单成功验证后,我们需要将输入发送到数据库。列值必须是“安全的”,因此需要进行一些转换。我知道从数据库读取数据时也可能需要进行某种形式的转换,尽管我希望这是错误的。
寻找一种不涉及太多代码的良好实践。
===
只是作为更新。在Domino形式中,没有任何形式的转义,并且不需要特殊处理。 Notes会自动做到这一点。在使用JPA的Java应用程序中,所有这些“安全性”也将自动进行处理。我知道php可能没有等效的功能,但这是一个常见的问题,我选择相信自己缺少一些非常简单的解决方案。
最佳答案
只需使用mysql_real_escape_string()
过滤需要进入数据库的输入!