在同一台服务器或另一台服务器上执行 JavaScript 代码的安全方式?

我有一个网站建设者,它允许用户拖放HTML块(imgdiv,等...)到页面中。他们可以保存它。保存后,他们可以查看该页面。

我还允许自定义代码,如 JavaScript。将他们的页面显示在子域 (mypage.example.com) 上的另一台服务器上是否安全,但仍然从与主服务器相同的数据库中获取,或者将其与主服务器放在同一台服务器上是否无关紧要?服务器?

据我所知,它们不能执行任何 PHP 代码,因为我将echo用于显示页面内容。

感谢帮助!


哈士奇WWW
浏览 180回答 2
2回答

素胚勾勒不出你

这取决于您的设置。如果您允许他们运行自定义 JavaScript,他们可能会窃取其他用户的会话令牌,这些令牌可用于窃取其他帐户。我建议阅读有关 XSS (Cross-Site-Scripting) 的文章。简而言之:XSS 是将代码注入站点的漏洞,该站点将在其他人的计算机上运行。在这一点上给你一个关于如何做到这一点的严格教程是没有意义的,因为每个系统都是不同的,需要不同的配置来抵抗攻击。让用户把代码放在某个地方总是有风险的!

幕布斯7119047

不需要另一台服务器,但您确实需要另一个域来防止主页上的跨站点脚本攻击。不,一个子域可能还不够,为了安全起见,将它完全放在另一个域上。(幸运的是,如果您对域名没问题,可以免费获得.tk域名)将他们的页面显示在子域的另一台服务器上是否安全即使是子域也可能是危险的,只需将其完全放在另一个域中,您就会安全。或者把它和主服务器放在同一台服务器上没有关系吗?你可以在同一台服务器上使用它。顺便说一句,您是否知道共享虚拟主机服务(如 GoDaddy、hostgator 等)有数千个网站共享一个物理服务器?另外,不要听人们说您需要清理或过滤 HTML,那不是真的。在我看来,没有必要过滤掉任何数据损坏的东西。不要对您的用户这样做,没有必要这样做。(至少我想不出)据我所知,他们无法执行任何 PHP 代码,因为我将使用 echo 来显示页面内容。正确的。如果你在做include("file");或者eval($code);他们可以执行服务器端代码,但只要你在做echo $code;,他们就无法执行服务器端代码,这不是安全问题。
打开App,查看更多内容
随时随地看视频慕课网APP