0

Javaスクリプトを使用してセッションを破棄することは可能ですか? はいの場合、どのように行うことができますか?C# で Asp.Net を使用しています。

助けて感謝!

前もって感謝します

4

2 に答える 2

2

Cookie (ユーザーをセッションにリンクするために使用されるセッション ID を含む) が でないHttpOnly場合、JavaScript で設定を解除できます。

function deletecookie(name) {
        var expdate = new Date();
        expdate.setTime(expdate.getTime() - 1);
        document.cookie = name += "=; expires=" + expdate.toGMTString();
}

そうである場合HttpOnly(そして、一般的に、ほとんどの認証関連の Cookie はそうあるべきです!)、JavaScript から影響を与えることはできません。JavaScript/Cookie の適切な説明は、ここにあります。

これはセッションを破壊するのではなく、単にユーザーとのリンクを切断して、効果的にログアウトさせるだけであることに注意してください。Cookie に ID の記録が保存されている場合、またはサード パーティが ID を傍受した場合、アプリケーションへの次の要求にその Cookie を含めることで、セッションを「再開」(または再利用) できます。

より安全なルートは、アプリケーションへのログアウト/セッション破棄リクエストを AJAX に戻し、実際にサーバー側でセッションを破棄することです。

于 2012-10-25T11:40:52.813 に答える
1

JavaScript は asp.net セッションを制御できないため、セッションを管理するサーバー側コードを呼び出す必要があります。

のような ajax を介して部分的にページを呼び出すことができます

$.get('~/ClearForm.aspx');

または、セッションを破壊するコードを含む特定のページにリダイレクトすることもできます。たとえば、ログアウト時に、セッションを破棄するログアウト ページにリダイレクトします。

于 2012-10-28T14:50:58.377 に答える