php - 清理 URL 变量的简洁方法?

标签 php security sanitization

我想知道在我使用它们之前是否有一个快速简单的函数来清除我的 url 中的 get 变量。(或者 $_POST 想到它......)

我想我可以使用正则表达式来替换不允许使用的字符,但我很想知道人们用什么来做这类事情?

最佳答案

清理输入的概念对我来说从来没有多大意义。它基于某些类型的输入是危险的假设,但实际上并不存在危险输入;只是错误处理输入的代码。

它的罪魁祸首是,如果您将变量嵌入某种字符串(代码)中,然后由任何类型的解释器对其进行评估,您必须确保该变量被正确转义。例如,如果您在 SQL 语句中嵌入一个字符串,那么您必须引用并转义该字符串中的某些字符。如果在 URL 中嵌入值,则必须使用 urlencode 对其进行转义.如果在 HTML 文档中嵌入字符串,则必须使用 htmlspecialchars 进行转义。 .等等。

尝试预先“清理”数据是一种注定要失败的策略,因为您无法知道 - 在那个时候 - 数据将在哪个上下文中使用。臭名昭著的 magic_quotes PHP 的反特性是这种错误想法的一个典型例子。

关于php - 清理 URL 变量的简洁方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/278571/

相关文章:

php - 如何显示存储在我的数据库中的所有图像?

security - 小书签安全注意事项、CSRF、散列 key

java - 检查序列码的正确性

security - 为什么 Google 建议将 CloudKMS 应用层加密与 Cloud Storage 结合使用?

python - 强制 feedparser 清理所有内容类型

php - 如何获取 json 对象中数组的长度?

php - 尝试使用模块化查询时,PDO fetch 不返回任何内容

php - 从 $contactname php 中删除空格

node.js - Express 应用中的 XSS 保护

vue.js - 如何清理从 VueJS 中的 API 调用接收到的 HTML