1

現在のページに適用されるすべての Cookie を削除する JSP を作成したい (したがって、リセットされたページが www.dev.example.com のサイトにある場合、すべての Cookie を取得します: www.dev.example.com, .dev.example.com, . example.com) 。それらをすべて削除します。

これのコードは何でしょうか?

4

3 に答える 3

0

別の方法よりも削除したくない場合は、永続的なCookieとして保存します

set MaxAge = -1

MaxAgeが-1の場合、セッションの間Cookieを保持する必要があることを示します。代わりに、MaxAgeを0に設定します。

    A negative value means that the cookie is not stored persistently and 
will be deleted when the Web browser exits. A zero value causes the cookie
to be deleted. 

もう一つは

Iterate all cookies in servlet/Scriptlet and set all Cookies Value NULL .

また、1つは

use javascript code to remove all cookies.
于 2012-04-19T01:37:36.560 に答える
0

RFC 2109を参照すると、HTTP 応答で Set-Cookie ヘッダーを使用し、クリアする Cookie を空白の値に設定するだけで済みます。

Set-Cookie: ssid=

更新: 私は JSP に詳しくないので、たとえば PHP と Javascript を使用します。Cookie にHttpOnlyプロパティがないと仮定します。

この PHP コードを使用して Cookie を設定します。この PHP スクリプトを Web サーバー www.yourserver.com/setcookie.php にアップロードできます。

<?php
setcookie('name', 'li');
?>

このHTML ファイルを使用して Cookie を消去します。もう一度、この HTML ファイルを Web サーバー www.yourserver.com/clearcookie.html にアップロードします。

<script>
function deleteAllCookies() {
    var cookies = document.cookie.split(";");

    for (var i = 0; i < cookies.length; i++) {
        var cookie = cookies[i];
        var eqPos = cookie.indexOf("=");
        var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
        document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
    }
}

deleteAllCookies();
</script>
于 2012-04-19T01:24:13.573 に答える
0

次のコードを使用します。

<body>

<%

    if(request.getParameter("removeCookie") != null){           
        for(Cookie cookie : request.getCookies()){

            if(!cookie.getName().equals("JSESSIONID")){
                cookie.setMaxAge(0);
                cookie.setValue("");
                cookie.setPath("/");

                response.addCookie(cookie);
            }
        }
    }

%>
<form action="#" method="get">

<input type="submit" id="removeCookie" name="removeCookie" value="Remove cookie" >
</form>


</body>
于 2012-04-20T10:46:44.063 に答える