gpt4 book ai didi

php - SQL 清理和 PHP

转载 作者:行者123 更新时间:2023-12-04 13:54:59 26 4
gpt4 key购买 nike

我想创建一个允许用户写文章的系统。文章的每个部分都将存储在数据库中。我担心的是 XSS 和 SQL 注入(inject),但主要是 XSS。

这不会是公开的,它只是供我信任的人创建内容。但是,我宁愿不要因为信任他人而在我的安全中留下一个漏洞。

现在,我想让我的用户在他们的文章中使用 HTML,所以我不能只删除每个标签。让他们使用 JavaScript 会很好,但如果必须的话,我愿意删除标签。如果这样做,我还必须删除诸如 onclick="do something malicious"之类的内容。

我正在使用参数化查询,所以我认为我不必太担心 SQL 注入(inject),但我不确定。

我想我的问题是,我应该在多大程度上清理我的输入以及我应该怎么做?

编辑:我认为只要删除 JavaScript 就可以了。用户需要的任何特殊效果都可以使用内置的 JavaScript 处理。看起来我可以使用 HTML Purifier 去除 JavaScript,但它是一个相当大的库,我想我可以编写一个更小、更具体的解决方案。我只是检查每个属性并根据白名单检查它。这能防止 XSS 吗?

最佳答案

如果您使用的是所见即所得的 HTML 编辑器,例如 TinyMCE,则有内置函数可以去除潜在的恶意代码,例如 <script>标签等等,你可以查看实例化编辑器的函数,了解禁止标签、函数等的详细信息。

注意:TinyMCE 应该用于清理,因为它是一个客户端编辑器,清理应该在服务器端完成边。

关于php - SQL 清理和 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20876785/

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