1

这是场景:

在每个非购物车页面上都会生成一个新的 md5(rand()) 会话变量。然后将此变量插入到购物车链接的 url 中。单击购物车链接将是用户从 http 转移到 https 的点,因此我知道这是一项确保安全的关键交易,以防止中间人将自己注入服务器和用户之间。

为了访问购物车,当前会话变量必须匹配 url 中的字符串(例如“/shopping_car_url/{random_string}/”),否则会发送 404 错误。

  1. 只要会话不受影响,这是否应该有效?
  2. 使用 POST 变量(或在会话和帖子中使用相同或不同的随机字符串)是否会同样有效或更有效(或无效)?
  3. 如果这是有效的,那么通过其余的购物车编辑/结帐过程做同样的事情是否有任何好处,或者这是否毫无意义,因为此时用户已经连接到 SSL?
4

2 回答 2

2

不要打扰它。保持您的 URL 简单明了;您的客户会更开心。如果您正确使用 SSL,那么您就可以免受绝大多数传输层中间人攻击。

于 2013-01-14T01:20:44.313 回答
2

您在这里试图保护自己免受的是CSRF(跨站点请求伪造)而不是 MITM。

一旦切换到 https,MITM 攻击几乎是不可能的,并且将商品添加到购物车通常不需要 CSRF 保护(与支付操作本身不同)。确保还阅读XSS 和 CSRF:验证后漏洞的实用探索

但是,如果恶意人员在您切换到 https 之前设法将自己置于用户和您的网站之间,他们也可以重写您的商店链接,但无需使用 https;然后,您的用户需要对地址栏中的锁定图标保持警惕。

于 2013-01-14T03:24:28.253 回答