人们可以用javascript做什么包括?

时间:2015-12-01 14:36:00

标签: javascript security external

我们正在与第三方交谈,将他们的一些数据包含在我们的网站上,他们希望通过iframe来实现,因为响应原因我不喜欢这样做。

它们提供的其他选项是包含一个javscript文件,该文件将使用参数来了解将结果放入哪个DOM元素。

基本上这可以让他们访问我们网站的javascript范围,如果他们想要的话可​​以做隐藏dom对象等的东西。

我的问题是,我有什么安全问题需要考虑吗?他们可以在他们的javascript中编写恶意代码,最终从我们的服务器读取.php文件并从配置文件中获取密码等吗?或者他们唯一可以做DOM相关的事情?

4 个答案:

答案 0 :(得分:2)

他们可以:

  1. 控制用户的Cookie,包括阅读和修改 它们。

  2. 将用户重定向到他们想要的任何网站。

  3. 将他们想要的任何代码嵌入到页面中。

  4. 他们不能:

    1. 直接访问php文件。
    2. 直接访问任何服务器文件。
    3. Javascript在浏览器中运行,而不是在服务器上运行。

答案 1 :(得分:2)

您实际上是在为他们提供受信任的XSS权限 如果您可以在Web浏览器中执行某些操作(发布帖子,“浏览”页面等),则可以使用JavaScript自动执行此操作。除非您(或您的用户)可以,否则他们将无法上传/修改您的PHP文件。

对于用户,你赋予他们冒充你的能力。
对你而言,你赋予他们冒充用户的能力。

答案 2 :(得分:2)

  

他们可以在他们的javascript中编写恶意代码,最终从我们的服务器读取.php文件并从配置文件中获取密码等吗?

他们可以在您在页面上包含的JavaScript代码中执行任何操作,可以在该页面上的JavaScript代码中执行此操作。所以这可以是你可以在客户端做的任何事情。它包括(例如)抓取您的页面所暴露的会话信息,并能够将该信息发送到其他地方。

如果您不相信他们不这样做,请不要在他们的页面中包含他们的JavaScript。

  

我们正在与第三方交谈,将其部分数据纳入我们的网站

让他们以数据提供该信息,而不是代码,您通过ajax请求,并让他们为来自您的来源的请求启用Cross-Origin Resource Sharing相关网址。然后,您知道您只是获取他们的数据,而不是让他们运行代码。

请注意,使用JSONP而不是CORS将使它们能够再次运行代码,因此如果您不信任它们,则必须使用CORS才能成为真正的ajax。

答案 3 :(得分:1)

你不必担心PHP文件或配置文件,但是窃取会话cookie或其他XSS式攻击肯定是个问题。

为什么不能/不会以API的形式提供数据?