2012-02-14 13 views
2

私は数日前にピラミッドのフレームワークを公開しました。私はsession.type = cookiepyramid_beakerで選んだのです。Pyramid_beaker:session.type = cookieは安全ではありませんか?

usr: "d79c098d69c26a4a85459acf03104ad74f3a22de1!userid_type:int" 
# for example here is encrypted id 1 

そして、私はクッキーを代用しようとしましたより: は、だから私はUSER_IDを暗号化してきたクッキーで、それは次のようになります。私はid 2の下でログインしました。以前のもののcookieを変更しましたが、今はid 1の下で自動的にログインしています!

正常ですか?それは安全ですか?スーパーアルゴリズムを使用した暗号化以上のものは何ですか?だから、いくつかのウイルスは、ユーザーのクッキーを盗んで、彼のIDの下にログインすることができますか?セキュリティはどこですか?

誰でも私を説明できますか? ありがとう!

+0

「前回のCookieを変更しました」=「Cookieを1に変更しました」 – Griwes

+0

@Griwes私は私の例から暗号化された文字列でそれを変更したことを意味し、それはそれを取った、今私は別のユーザーです... –

+2

それはクッキーの仕組みです、あなたは知っています。クッキーだけでは安全ではないという理由があります。 – Griwes

答えて

5

はい、セッションCookieは盗難され、ログインしているユーザーを偽装するために脆弱です。セッションの寿命を短くしたり、クライアントのIPアドレスに結び付けたりすることで、このリスクをある程度は最小限に抑えることができますが、これは専用のハッカーにとっての障害に過ぎません。実際の唯一の解決策は、SSLを使用してセッションを完全に暗号化することです。これは、多くの一般的なサイト(Gmail、Facebookなど)がHTTPSセッションを提供しているか、または必要としている理由と、Firefox拡張子HTTPS Everywhereが存在する理由です。

+0

私の解決策は、タイプをクッキーから(たとえば)データベースに変更することです。 –

+0

私はPyramidを一度も使用していませんが、セッションがバックエンド(つまり、サーバー上のデータベース)に格納されている場合でも、何らかの種類のセッションCookieを使用してデータベースレコードにユーザーを関連付けるので、各要求に対してユーザーを認証する必要がありません。これには同じ脆弱性があります。 – kindall

+0

私が言うことができるのは偉大です...しかし、説明してくれてありがとう、それは多くの助けになりました。 –

関連する問題