【发布时间】:2017-09-04 23:14:19
【问题描述】:
有没有办法配置 PHP/服务器(通过 Nginx php-fpm)以防止 php file_get_contents 执行 javascript?
现在,如果我允许用户上传嵌入了 js 的 html 文件,当文件通过 file_get_contents() 调用显示时,JS 会被执行。
我计划添加 HTML 过滤(即拒绝 html 上传),但如果我可以在输出上设置第二层安全性,而不是仅在上传上(以防第一层无法进入),那就更好了帐户这样的场景)。
谢谢
【问题讨论】:
-
你想做什么而不是执行 JS?默认情况下,浏览器只会将其视为可执行文件 - 你想完全删除它吗?或者只是将整个上传显示为转义的 HTML?
-
如果您根本不想允许 html,您可以使用
preg_replace("%</?[^>]+>%s", "", $file)去除所有 html 标签 -
事实上,我想做的是处理文件类型黑名单(因为在这种情况下没有白名单),但仍然添加额外的安全措施。我想在这种情况下最好的方法是 1)添加一些 xss 检查以最小化潜在的攻击向量 2)强制通过
标签: javascript php security nginx