gpt4 book ai didi

php - [a-zA-Z]+ 会消除任何 xss 攻击的机会吗?

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

我相信只允许 a-z 和 A-Z 范围内的字符会消除任何 xss 攻击的可能性?我读过很多关于简单地将所有输出通过 htmlspecialchars() 的内容,但似乎在某些情况下这不足以提供完全保护。

此外,如果 [a-zA-Z]+ 是完全安全的,有没有办法完全接受 '- 字符安全地避免任何可能的 xss 攻击? (因为除了 a-z 之外,这是名称中的两个主要字符)

最佳答案

这个问题有两个方面。

首先:是的,当然,如果没有办法“脱离上下文”,您就消除了 XSS 和 SQL 注入(inject)攻击的所有机会。如果只能使用字母字符,则无法插入 JS 或 SQL。

第二:这当然不是真正的保护,就像永远不再开车一样,作为一种避免发生事故的故障保险方法。总有一天,您的网站上会出现需要插入其他字符的输入表单,您会被搞砸的。只编写从根本上安全的代码,永远不要相信客户端输入,并正确转义代码生成的所有 HTML 最终是唯一安全的途径。

您尝试做的是解决输入端的输出问题,但这行不通。如果你有任意的用户输入,你最终会让人试图滥用它来做令人讨厌的事情。了解如何在输出端正确转义它,使用像 Twig 这样的模板系统对于本质上处理大多数 XSS 问题的输出,并使用像 Doctrine 这样的 DAL/ORM或良好的参数化数据库访问 API,如 MySQLi 或 PDO,以避免 SQL 注入(inject)。

关于php - [a-zA-Z]+ 会消除任何 xss 攻击的机会吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19260365/

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