gpt4 book ai didi

php - 用户提交代码演示区的安全预防措施和技术

转载 作者:行者123 更新时间:2023-12-02 20:40:16 25 4
gpt4 key购买 nike

也许这实际上不太可行。但基本上,我一直在开发一个片段共享网站,我希望它有一个“实时演示区”。

例如,您正在浏览一些片段并单击“演示”按钮。将弹出一个执行 Web 代码的新窗口。

我知道这样做会涉及无数的安全风险 - XSS、标签、讨厌的恶意软件/下载驱动、pr0n 等等。

社区将能够标记公然顽皮的提交内容,但显然有些内容不会被发现(而且,在许多情况下,必须有人成为受害者才能发现所提交的任何令人讨厌的内容)。

所以我需要知道:我应该做什么 - 安全方面 - 确保用户可以提交代码,但不能运行任何恶意软件 - 或异地执行等?

供您引用,我的网站由使用 CodeIgniter 的 PHP 提供支持。

jack

最佳答案

正如 Frank 指出的,如果您想保持高水平的安全性,请使用白名单技术。这当然是有代价的(可能限制太多,难以实现)。

另一种途径是开发黑名单技术。即只允许未触发任何铃声的代码。这更容易,因为您必须指定更少的东西,但它不会捕获新的漏洞。

网络上有大量关于这两种技术的信息。

依靠 CodeIgniters 安全功能(XSS 过滤等)不会让您走得太远,因为大多数代码片段都不允许通过。

无论你做什么,你都必须记住这一点:

不要认为恶意代码的目的只是伤害您网站的访问者。它也可能旨在通过解析器/代码检查器危害您的服务器。例如,假设 Alice 上传片段 foo。 Alice 故意制作该代码片段,以便您的解析器因 XSS 漏洞而将其标记为恶意代码。假设您的解析器还使用恶意代码片段更新数据库以进行进一步调查。爱丽丝知道这一点。除了 XSS 漏洞外,Alice 还在代码片段中注入(inject)了一些 SQL 代码,因此当您将代码片段插入数据库时​​,它会执行各种不良操作。

如果您真的很偏执,您可以拥有一个隔离的服务器,其唯一的职责是检查代码片段。因此,在 WCS 中,只有低风险服务器会受到损害,并且您(希望)有足够的时间来修复/审核这种情况。

希望这有帮助。

关于php - 用户提交代码演示区的安全预防措施和技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2525656/

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