人们可以用javascript做什么?

人们可以用javascript做什么?,javascript,security,external,Javascript,Security,External,我们正在与第三方交谈,将他们的一些数据包括在我们的网站上,他们希望通过iframe这样做,因为响应性原因,我不喜欢这样做 他们提供的其他选项是包含一个javscript文件,该文件将使用一个参数来知道将结果放入哪个DOM元素 基本上,这使他们能够访问我们网站的javascript范围,如果他们愿意,可以在其中执行隐藏dom对象等操作 我的问题是,有什么安全问题需要我考虑吗?例如,他们可以在javascript中编写恶意代码,最终从我们的服务器读取.php文件,并从配置文件等获取密码吗?或者他们唯

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

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

基本上,这使他们能够访问我们网站的javascript范围,如果他们愿意,可以在其中执行隐藏dom对象等操作

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

他们可以:

  • 控制用户的cookie,包括读取和修改 他们

  • 将用户重定向到他们想要的任何站点

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

  • 他们不能:

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

    它们可以:

  • 控制用户的cookie,包括读取和修改 他们

  • 将用户重定向到他们想要的任何站点

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

  • 他们不能:

  • 直接访问php文件
  • 直接访问任何服务器文件

  • Javascript在浏览器中运行,而不是在服务器上运行。

    您不必担心PHP文件或配置文件,但窃取会话cookie或其他XSS样式的攻击肯定会成为一个问题


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

    您不必担心PHP文件或配置文件,但窃取会话cookie或其他XSS风格的攻击肯定会成为一个问题


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

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

    对于用户来说,您赋予了他们模仿您的能力。

    对你来说,你给了他们模拟用户的能力。

    你实际上给了他们受信任的特权。
    如果您可以在web浏览器中执行某些操作(发布帖子、“浏览”页面等),则可以使用JavaScript实现自动化。除非您(或您的用户)可以,否则他们将无法上载/修改您的PHP文件

    对于用户来说,您赋予了他们模仿您的能力。
    对你来说,你给了他们模拟用户的能力

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

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

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

    我们正在与第三方会谈,以便将他们的一些数据包括在我们的网站上

    让他们将这些信息作为数据(而不是代码)提供给您,您可以通过ajax请求这些信息,并让他们为您的源请求启用相关URL。然后,您知道您只是获取他们的数据,而不是让他们运行代码

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

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

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

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

    我们正在与第三方会谈,以便将他们的一些数据包括在我们的网站上

    让他们将这些信息作为数据(而不是代码)提供给您,您可以通过ajax请求这些信息,并让他们为您的源请求启用相关URL。然后,您知道您只是获取他们的数据,而不是让他们运行代码


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

    那么,您究竟如何远程“读取”php文件?如果您的服务器配置正确,那么通过http点击任何php文件都会执行该文件,并且您只能看到脚本的输出。如果您获得php源代码,那么您真的应该首先解雇任何设置服务器的人。如果关键的配置文件存储在站点的文档根目录下,那么您应该在启动这些文件时向该用户开火。那么,您究竟如何远程“读取”php文件?如果您的服务器配置正确,那么通过http点击任何php文件都会执行该文件,并且您只能看到脚本的输出。如果您获得php源代码,那么您真的应该首先解雇任何设置服务器的人。如果关键配置文件存储在站点的文档根目录中/下,那么您应该在启动这些文件时向该用户开火。ajax请求必须来自其服务器,因为该服务器使用HTTP访问控制头,而该头将忽略来自我们的用户的访问servers@Jebble不幸的是,您在中描述的两种方法