人们可以用javascript做什么包括

What can people do with javascript includes?

本文关键字:什么 包括 javascript      更新时间:2023-09-26

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

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

基本上,这让他们可以访问我们网站的javascript范围,如果他们愿意,可以在其中做一些事情,比如隐藏dom对象等。

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

他们可以:

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

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

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

他们不能:

  1. 直接访问php文件
  2. 直接访问任何服务器文件

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

您实际上是在给他们可信的XSS权限
如果你可以在网络浏览器中做一些事情(发帖子、"浏览"页面等),你可以使用JavaScript实现自动化。除非你(或你的用户)可以,否则他们将无法上传/修改你的PHP文件。

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

例如,他们能否在javascript中编写软化代码,最终从我们的服务器读取.php文件,并从配置文件等中获取密码?

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

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

我们正在与第三方讨论,将他们的一些数据纳入我们的网站

让他们将这些信息作为您通过ajax请求的数据而非代码提供,并让他们为来自您的源请求的有问题的URL启用跨源资源共享。然后,你知道你只是在获取他们的数据,而不是让他们运行代码。

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

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

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