允许用户上传javascript/html/css
我正在创建一个网站,允许用户使他们的网站在一定时间内保持活力。它的工作原理如下:允许用户上传javascript/html/css,javascript,html,css,security,Javascript,Html,Css,Security,我正在创建一个网站,允许用户使他们的网站在一定时间内保持活力。它的工作原理如下: 用户上传一个包含javascript/html/css/image的.zip文件 使用白名单筛选文件以删除不允许的扩展名> 一个新的子域将使用包含解压文件的随机名称创建 用户现在可以查看他的设计 那么,上传javascript/html/css文件可能会导致哪些安全问题?所有文件都存在潜在的安全漏洞。JavaScript、HTML和CSS文件可能是危险的,因为它们中都可能包含JavaScript代码。通过允许人
- 用户上传一个包含javascript/html/css/image的.zip文件
- 使用白名单筛选文件以删除不允许的扩展名>
- 一个新的子域将使用包含解压文件的随机名称创建
- 用户现在可以查看他的设计
那么,上传javascript/html/css文件可能会导致哪些安全问题?所有文件都存在潜在的安全漏洞。JavaScript、HTML和CSS文件可能是危险的,因为它们中都可能包含JavaScript代码。通过允许人们上传包含JavaScript代码的文件,你让他们上传将由访问者浏览器执行的代码 在现代浏览器上,在CSS文件中嵌入JavaScript代码并不是一个真正的问题。但是如果您希望支持较旧的浏览器,如IE6或7,那么CSS文件也是一个潜在的安全漏洞 攻击者使用的一种常见技术是跨站点脚本或XSS。基本上,攻击者通过使用表单或一些低安全性API将JavaScript代码注入网站,允许访问者向网站发送信息。该JavaScript代码随后可能会被所有其他用户执行,并可能窃取敏感信息。以下是关于它的更多信息: 现在,由于所有网站都位于不同的子域中,它们实际上有不同的来源,因此浏览器将防止一个网站的JavaScript篡改另一个网站的cookies。这称为同源策略,其详细描述如下: 请记住,这些恶意JavaScript文件之一可能会通过运行以下代码更改其来源:
document.domain = "yourdomain.com";
这可能是一个潜在的威胁。
此外,同源策略在某些浏览器上有不同的行为,例如Internet Explorer。您最好阅读最常见的web浏览器的文档。不要试图自己实现这一点。使用内容管理系统。这是我想到的最危险的一个。我建议您不要按扩展名检查文件,而是通过分析文件并查看其实际内容,或者是否通过验证。如果一个好的CSS解析器不能解析.CSS文件,那么它就不是CSS。如果JavaScript解析器不能解析.js文件,那么它就不是JavaScript。这将为有效文件提供更可靠的过滤器。