【发布时间】:2019-08-16 17:27:33
【问题描述】:
我有一个网站构建器,它允许用户将 HTML 块(img、div 等...)拖放到页面中。他们可以保存它。保存后,他们可以查看该页面。
我还允许使用 JavaScript 等自定义代码。将他们的页面显示在子域(mypage.example.com)上的另一台服务器上但仍然从与主服务器相同的数据库中获取是否安全,或者将其放在与主服务器相同的服务器上是否无关紧要服务器?
据我所知,他们无法执行任何 PHP 代码,因为我将使用echo 来显示页面内容。
感谢您的帮助!
【问题讨论】:
-
你有没有做任何事情来清理 HTML 到protect against XSS?
-
您需要验证、转义和清理用户 JavaScript 以避免 XSS 或/或 CSRF。
-
@AndTheGodsMadeLove 清理和转义用户的 JS 会干扰代码吗?它实际上是用于跟踪他们可以放入该页面的代码,例如 Google Analytics(分析)
-
As far as I know, they cannot execute any PHP code since I will be using echo to display the page content.- 不,不要那样做,它非常慢:我假设你正在谈论的代码是echo file_get_contents(file);- 首先,你将把整个文件放在 RAM 中一次(因此它使用了比需要更多的 RAM),并且直到整个文件从磁盘加载后才开始传输(因此它启动缓慢),使用 readfile() 代替,它启动得更快(它从第一个开始块已被读取,而不是all of it),它同时从磁盘传输和读取, -
这使它更快,并且无论文件有多大,它都不会使用任何大量的内存(相同数量的内存用于 1KB 文件和 100GB 文件)跨度>
标签: javascript php apache security ubuntu