【问题标题】:Which is the best way or method to prevent session fixation and highjacking in php ? [closed]在 php 中防止会话固定和劫持的最佳方式或方法是什么? [关闭]
【发布时间】:2011-10-16 15:39:30
【问题描述】:

我浏览了各种在 php 中防止会话固定和劫持的方法,但我发现很难确定哪种方法是我可以依赖的最佳方法。喜欢防止sql注入的大部分开发者建议使用prepare语句,可以有效的防止大部分sql注入攻击。在防止会话攻击方面,是否有任何这样的代码、函数或 sn-p 可用最好、快速和简单。请分享。 谢谢你们 。

【问题讨论】:

    标签: php security session


    【解决方案1】:

    不允许http协议,只允许https。

    就是这样,它可以防止 SESSID 劫持...

    RewriteEngine On
    RewriteCond %{SERVER_PORT} !443
    RewriteRule (.*) https://yourdomain.com/ [R]
    

    【讨论】:

    • 这正是网上银行和类似网站所做的。
    • @yi_H:荒谬?它有什么问题?
    • 举个例子:-“我怎样才能让我的电脑安全?” -“拔下电源线”。这能解决问题吗?是的。答案对OP有用吗?不。(不,我并不是说你说他必须拔掉电源线。我只是说这很荒谬)
    • 关于信息安全没有荒谬的答案。此解决方案提供了保护会话 cookie 的最佳方法之一。如果您确实需要防止会话被盗,例如如果会话被盗会比 ssl 证书花费您更多的钱,那么这是一个非常有效的解决方案。
    【解决方案2】:

    您可以做一些事情来提供帮助,例如,在设置 cookie 时将它们设置为 httponly 以便无法从 javascript 中读取它们,跟踪用户的 IP 地址并仅在以下情况下允许访问会话用户 ip 在他们开始会话的 ip 的一定范围内,当开始一个新会话时,重新生成会话 id 而不是重用以前的,跟踪用户浏览器,如果在会话期间发生更改,则不允许访问会议。我敢肯定还有更多,但那只是我头上的事。

    【讨论】:

      猜你喜欢
      • 2012-02-20
      • 1970-01-01
      • 2011-07-02
      • 2012-08-27
      • 1970-01-01
      • 2013-10-09
      • 2012-05-19
      • 1970-01-01
      相关资源
      最近更新 更多