【发布时间】:2013-08-26 16:02:27
【问题描述】:
我在网上商店使用在线照片编辑器。用户可以使用 svg-edit 编辑照片并保存更改。用户结果存储为 SVG 源代码 (...)。我必须通过 PHP 表单发送该 SVG 源代码,将其保存在数据库中并显示在管理面板中。
我害怕对我的网上商店进行任何注入或攻击。有没有可能让它安全?
我无法为 SVG 源代码生成私有哈希,因为它是客户端,我可以通过 AJAX 发出任何请求。
@编辑
示例:用户保存...代码并且该代码正在通过 POST 发送。在 PHP 脚本中,我可以访问 $svg = $_POST['svg_source'];我担心在那个 POST 值中注入。攻击者可以注入任何 HTML、JS、其他源代码。
@编辑:
然后我可以在 DB 中存储 $_POST 值...并在 PA 中查看它。但是攻击者可以编写一些...代码,它将在我查看 SVG 图像的 PA 中执行(基于 SVG 代码)
@编辑:
我需要一些解决方案来检查 SVG 代码是否有效并且不包含任何 JS、HTML 代码。或者 - 我需要一些解决方案来安全地查看网站上的 SVG 代码。
【问题讨论】:
-
什么样的注射? sql? css/html? svg?如果您使用适当的防御性编程技术,则根本不必担心注入攻击。
-
示例:用户保存 代码并且该代码正在通过 POST 发送。在 PHP 脚本中,我可以访问 $svg = $_POST['svg_source'];我担心在那个 POST 值中注入。攻击者可以注入任何 HTML、JS、其他源代码。
-
那有什么问题?用户通过表单提交的任何数据都将显示在 _GET 或 _POST 中......
-
然后我可以在 DB 中存储 $_POST 值 并在 PA 中查看它。但是攻击者可以编写一些 代码,它将在我查看 SVG 图像的 PA 中执行(基于 SVG 代码)
-
直接在问题中添加您的 cmets 中所需的信息,这样阅读问题的人不必阅读 3-4 cmets 即可完全理解。