我允许用户通过只要求他们提交 src
来嵌入 youtube 或任何其他视频源。他们收到的嵌入代码。然后我将它保存到数据库中并通过 iframe 加载它。但是,如果有来源,例如 src="http://innocent.com/hackingContent.php"
,那么我的网站是否容易受到 xss 攻击?
我估计用户可能在那个 src
中有恶意脚本一旦 iframe 将源代码嵌入到我自己的 html 中,它将立即加载。
编辑 如果 src 包含 <script type="text/javascript" src="evilScript.js"></script>
怎么办? .虽然我正在使用preg_match
只是为了确保它只是一个 url。
最佳答案
是的,你很脆弱。是什么阻止不良用户链接到色情内容?或者看起来合法并收集用户名和密码的网站。
你为什么不建立一个你将接受的视频源的白名单...验证提交的 url 在那些域上并验证 url 存在。
这样人们就无法将完全随机的 url 插入到您的内容中。
“白名单”是您将接受的值列表。例如,在您的服务器上,当用户提交一个 url 时,您将接受来自
对吧?因此,您列出了您将接受的所有网址,然后确保用户的输入与您列表中的项目相匹配。如果不是你拒绝它。 (我们所说的匹配是指“开始于”或类似的东西——显然不是完全匹配)
“黑名单”则相反。你会有一个列表,但它是一个你不允许的列表。
白名单 == 您允许的内容列表
黑名单 == 您不允许的事情列表
关于javascript - 通过 iframe src 进行 xss 攻击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8874862/