我想知道在我使用它们之前是否有一个快速简单的函数来清除我的 url 中的 get 变量。(或者 $_POST 想到它......)
我想我可以使用正则表达式来替换不允许使用的字符,但我很想知道人们用什么来做这类事情?
最佳答案
清理输入的概念对我来说从来没有多大意义。它基于某些类型的输入是危险的假设,但实际上并不存在危险输入;只是错误处理输入的代码。
它的罪魁祸首是,如果您将变量嵌入某种字符串(代码)中,然后由任何类型的解释器对其进行评估,您必须确保该变量被正确转义。例如,如果您在 SQL 语句中嵌入一个字符串,那么您必须引用并转义该字符串中的某些字符。如果在 URL 中嵌入值,则必须使用 urlencode
对其进行转义.如果在 HTML 文档中嵌入字符串,则必须使用 htmlspecialchars
进行转义。 .等等。
尝试预先“清理”数据是一种注定要失败的策略,因为您无法知道 - 在那个时候 - 数据将在哪个上下文中使用。臭名昭著的 magic_quotes PHP 的反特性是这种错误想法的一个典型例子。
关于php - 清理 URL 变量的简洁方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/278571/