第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

檢查是否啟用了cookie

檢查是否啟用了cookie

慕妹3242003 2019-09-21 14:48:24
我正在一個(gè)需要JavaScript和會(huì)話的頁(yè)面上工作。我已經(jīng)有代碼來(lái)警告用戶是否禁用了javascript?,F(xiàn)在,我想處理禁用cookie的情況,因?yàn)闀?huì)話ID存儲(chǔ)在cookie中。我只想到了幾個(gè)主意:將會(huì)話ID嵌入鏈接和表單中警告用戶如果禁用了cookie,則必須啟用cookie(需要幫助來(lái)檢測(cè)cookie是否被禁用)解決此問(wèn)題的最佳方法是什么?謝謝編輯根據(jù)鏈接的文章,我想出了自己的方法,并認(rèn)為我會(huì)分享,也許其他人也可以使用它,也許我會(huì)得到一些批評(píng)。(假設(shè)您的PHP會(huì)話存儲(chǔ)在名為的Cookie中PHPSESSID)<div id="form" style="display:none">Content goes here</div><noscript>Sorry, but Javascript is required</noscript><script type="text/javascript"><!--if(document.cookie.indexOf('PHPSESSID')!=-1)   document.getElementById('form').style.display='';else   document.write('<p>Sorry, but cookies must be enabled</p>');--></script>
查看完整描述

3 回答

?
慕勒3428872

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊

JavaScript的

在JavaScript中,您可以簡(jiǎn)單測(cè)試cookieEnabled屬性,所有主要瀏覽器都支持該屬性。如果您使用的是較舊的瀏覽器,則可以設(shè)置Cookie并檢查其是否存在。(從Modernizer借來(lái)的):


if (navigator.cookieEnabled) return true;


// set and read cookie

document.cookie = "cookietest=1";

var ret = document.cookie.indexOf("cookietest=") != -1;


// delete cookie

document.cookie = "cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT";


return ret;

現(xiàn)代化Cookie檢查提交

檢查是否啟用了Cookies

PHP

在PHP中,它相當(dāng)“復(fù)雜”,因?yàn)槟仨毸⑿马?yè)面或重定向到另一個(gè)腳本。在這里,我將使用兩個(gè)腳本:


somescript.php


<?php

session_start();

setcookie('foo', 'bar', time()+3600);

header("location: check.php");

check.php


<?php echo (isset($_COOKIE['foo']) && $_COOKIE['foo']=='bar') ? 'enabled' : 'disabled';


查看完整回答
反對(duì) 回復(fù) 2019-09-21
?
一只甜甜圈

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊

但是要檢查是否使用isset($ _ COOKIE [“ cookie”])啟用了cookie,您必須刷新。我以這種方式進(jìn)行操作(使用基于Cookie的會(huì)話:)


session_start();

$a = session_id();

session_destroy();


session_start();

$b = session_id();

session_destroy();


if ($a == $b)

    echo"Cookies ON";

else

    echo"Cookies OFF";


查看完整回答
反對(duì) 回復(fù) 2019-09-21
?
弒天下

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊

一種透明,干凈且簡(jiǎn)單的方法,使用PHP檢查cookie的可用性,并利用AJAX透明重定向的優(yōu)勢(shì),因此不會(huì)觸發(fā)頁(yè)面重新加載。它也不需要會(huì)話。


客戶端代碼(JavaScript)


function showCookiesMessage(cookiesEnabled) {

    if (cookiesEnabled == 'true')

        alert('Cookies enabled');

    else

        alert('Cookies disabled');

}


$(document).ready(function() {

    var jqxhr = $.get('/cookiesEnabled.php');

    jqxhr.done(showCookiesMessage);

});

(可以將JQuery AJAX調(diào)用替換為純JavaScript AJAX調(diào)用)


服務(wù)器端代碼(PHP)


if (isset($_COOKIE['cookieCheck'])) {

    echo 'true';

} else {

    if (isset($_GET['reload'])) {

        echo 'false';

    } else {

        setcookie('cookieCheck', '1', time() + 60);

        header('Location: ' . $_SERVER['PHP_SELF'] . '?reload');

        exit();

    }

}

第一次調(diào)用腳本時(shí),將設(shè)置cookie,并且腳本告訴瀏覽器重定向到其自身。瀏覽器將透明地執(zhí)行此操作。沒(méi)有頁(yè)面重新加載發(fā)生,因?yàn)樗窃贏JAX調(diào)用范圍內(nèi)完成的。


第二次,當(dāng)通過(guò)重定向調(diào)用時(shí),如果收到cookie,則腳本將響應(yīng)HTTP 200(帶有字符串“ true”),因此將showCookiesMessage調(diào)用該函數(shù)。


如果第二次調(diào)用腳本(由“ reload”參數(shù)標(biāo)識(shí))并且未接收到cookie,則它將使用字符串“ false”響應(yīng)HTTP 200-并且showCookiesMessage將調(diào)用該函數(shù)。


查看完整回答
反對(duì) 回復(fù) 2019-09-21
  • 3 回答
  • 0 關(guān)注
  • 698 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)