gpt4 book ai didi

php - 文本输入卫生和安全

转载 作者:行者123 更新时间:2023-12-02 07:07:10 26 4
gpt4 key购买 nike

我正在努力确保我所有的输入都是安全的,以保护服务器和 XSS 攻击。使用 strip_tagshtmlentities 验证输入是一个万无一失的系统吗?有人告诉我是,我想确认一下。例如:

$re = htmlentities(strip_tags($_GET['re']), ENT_COMPAT, "UTF-8");

这应该阻止任何 linux 命令和任何 html 链接是否正确?是否有任何未考虑到的漏洞?

最佳答案

这根本不是什么htmlentities是为了。使用 htmlentites在将输出发送到浏览器之前对其进行编码。它与清理输入无关。在处理输入时,您唯一需要担心的是正确转义插入到 SQL 查询中的数据,以防止 SQL 注入(inject)。参见 PHP Data Objects有关更多信息。

strip_tags在这里很有用,但你不需要同时使用 strip_tags htmlentities .整目的htmlentites是它阻止了标签被解释。唯一正确的思考方式是:保留用户输入的内容并使其安全。不要去除他们的标签,只需对它们进行编码,使它们显示为键入时的样子。否则你最终会剥离像 <sarcasm> 这样的东西和 <rant>标签。用户的意图不是注入(inject) HTML。

“Linux 命令”与 HTML 无关。无法通过 HTML/脚本注入(inject)执行任意 Linux 命令。

What i have in mind is something such as ";ls -la"

如果您实际上是在获取用户提供的输入并通过 system 执行它或者类似的东西,你已经有麻烦了。这是一个糟糕的想法,你不应该这样做。

关于php - 文本输入卫生和安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9880625/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com