我想知道在使用它们之前是否有一个快速简单的函数来清理我的url中的变量.(或$ _POST来想一想......)
我想我可以使用正则表达式来替换不允许使用的字符,但我有兴趣听听人们使用这种东西的方法吗?
清洁输入的概念对我来说从来没有多大意义.它是基于某些输入是危险的假设,但实际上没有危险的输入; 只是错误处理输入的代码.
它的罪魁祸首是,如果你在一些字符串(代码)中嵌入一个变量,然后由任何类型的解释器进行评估,你必须确保该变量被正确转义.例如,如果在SQL语句中嵌入字符串,则必须引用并转义此字符串中的某些字符.如果您在URL中嵌入值,则必须使用它进行转义urlencode
.如果在HTML文档中嵌入字符串,则必须使用htmlspecialchars
.等等等等.
试图预先"清理"数据是一个注定要失败的策略,因为你无法知道 - 在那一点 - 数据将被用于哪个上下文.臭名昭着的magic_quotes反特征PHP就是一个很好的例子.误入歧途的想法.