gpt4 book ai didi

Javascript:在封闭源代码的 CMS 中允许自定义 javascript 会很糟糕吗?

转载 作者:行者123 更新时间:2023-11-30 08:46:39 27 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.

8年前关闭。




Improve this question




javascript 有很多我不知道的特性和功能。我开发了一个自定义的闭源 CMS,我正在考虑添加一个功能以允许自定义 javascript 包含在他们网站的每个页面上(但不是后端系统本身)。我很好奇这样做的风险? CMS 是使用 PHP 构建的,并且该 CMS 的后端系统中有 javascript,但仅此而已。

如果我允许自定义 javascript,是否可以对其进行操作以检索所有 php 代码,或者导致服务器本身出现问题?

我拥有服务器,因此我可以为保护服务器进行必要的调整。

同样,这纯粹是为了提供信息,我很感激人们能给我的任何建议。

javascript 将存储在一个文件中,并使用 php 将其包含在页面本身上。我确实有代码可以阻止内部的任何内容,以防止在代码本身中使用 PHP。

最佳答案

他们能用 JavaScript 窃取我的闭源 PHP 代码吗?
回答您的第一个问题,没有 ,您的 CMS 软件用户无法通过上传 JavaScript 片段来窃取您的闭源 PHP 代码。
这是因为 JavaScript 在客户端(Web 浏览器)上运行。
如果 JavaScript 能够从客户端访问您的 PHP 代码,那么他们将能够在没有 JavaScript 的情况下访问它。这意味着您在 Web 服务器端配置了一些错误,例如设置文件的权限以便任何人都可以查看它们。

允许 CMS 用户上传 JavaScript 是个好主意吗?
你会得到一些会尖叫的人绝对不在任何情况下 .这些都是说类似的话的人:

  • 使用 eval()总是邪恶的。它并不总是邪恶的,但它几乎总是不必要的。
  • 使用 global$_GLOBALS在 PHP 中是邪恶的。同样,如果您不知道自己在做什么,那只会是邪恶的。再说一次,这几乎总是不必要的。

  • 你应该把它读成 警告 .不要掉以轻心,如果你小心,你可以做到,但如果你不小心,它真的可以咬你**。这足以让大多数人远离它。
    在您确定是否应该允许 CMS 解决方案的用户上传 JavaScript 片段之前,您应该问自己以下问题:
    谁将被允许上传 JavaScript 片段?
    如果唯一可以访问此上传 JavaScript 模块功能的人是受信任的系统管理员,那么您应该认为它是安全的。我把它放在斜体上是因为它不是很安全,但在这一点上,它确实落在了这些受信任的用户身上,以确保他们不会上传恶意内容。
    也许您遇到了 Mary Neophyte,这位非凡的网站管理员(业余)决定她想要在她的 CMS 头版上显示一个很酷的 scriptlet,以显示阿拉斯加安克雷奇的当前天气。她去谷歌,输入“JavaScript 天气脚本”,然后到达天气 channel 。她认为他们的实现太难安装了。她一直在寻找。她在 http:/motherrussia.ru/ilovehackingidiots/weatherscript.html 到达鲍里斯的天气脚本.
    这不是你的错当她的 CMS 开始损害她的最终用户时。她是值得信赖的管理员,故意(尽管无知)上传了恶意脚本。你不应该为这种行为负责。
    长话短说,您应该能够信任 值得信赖 您的 CMS 的用户有足够的责任了解他们正在上传的内容。如果他们朝自己的脚开枪,那不怪你。

    允许不受信任的用户上传 JavaScript
    这绝对、肯定、毫无疑问绝不是你应该做的事情。您不可能筛选出某人可能上传的所有可能的混淆信息。
    我什至不会进一步讨论这个问题。不要这样做。时期。

    关于 HTML/CSS
    不要假设恶意代码无法通过 HTML/CSS 进入您的网站。虽然 HTML 比 JavaScript 更容易清理,但它仍然可以被利用来将不需要的 JavaScript 传递到页面。
    如果您只允许 值得信赖的用户 上传 HTML/CSS,那就不用太担心了。我再次强调,如果 Mary Neophyte 将 Boris 的天气脚本上传到她的网站,那是她的错。但是,不要让鲍里斯本人来到您的网站并开始将任何将显示在网页上的内容上传给除老鲍里斯本人之外的任何人。

    TL;博士
    我将所有内容总结为两条规则:
  • 不允许不受信任的用户上传任何将显示给除自己以外的任何人的内容。
  • 不要让任何人上传任何在服务器端执行的东西。
  • 关于Javascript:在封闭源代码的 CMS 中允许自定义 javascript 会很糟糕吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21464719/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com