1

技术范围:PHP、MySQL、Apache、javascript、ajax。

CRSF

用户登录到他的安全页面。

页面使用随机令牌和随机名称。(用于输入)

   <input name="random_name" value="random_token" />

Random_name 和 Random_token 存储在用户 SESSION 中。

脚本检查标头(HTTP 1.1 - 引荐来源网址)。

在我看来,这些方法无法保护我与 Ajax(页面输出)分析。


Ajax(页面输出)分析:

用户访问了错误的页面。

加载页面后,Ajax 与他的页面建立连接(使用准备好的 HTTP 引用标头)。并下载数据。

解析输出(输入)。

并在成功解析后。

使用 Random_name、Random_token 和准备好的引荐标头创建自己的请求。


安全系统接受了这个动作。(推荐人 - 好的,令牌 - 好的)

我该如何避免呢?

4

1 回答 1

0

在设计 XMLHttpRequest 时,已经考虑到了这个场景。结果是 XMLHttpRequest 级别 1(历史)根本不允许任何跨域请求。并且使用 XMLHttpRequest 级别 2(当前),如果服务器根据Cross-Origin Request Sharing允许,则仅允许客户端读取对跨域请求的响应。

因此,除非请求来自同一来源或您允许任何来源,否则不允许客户端读取响应。

于 2012-09-05T17:15:26.007 回答