Re: [請益] Session的問題
※ 引述《sorianotw (Brio)》之銘言:
: 我想前面那篇可能大家看不大懂
: 我把程式碼一段丟上來好了 請大家幫我看看
: 我是照著書上的方法弄
: 一開始就是
: <?
: session_start();
: if ($_SESSION["clog"]!=true){}]
: ?>
: 這個是檢查session看有沒有登入的簡單程式
: 登入的時候則是
: <?
: session_start();
: session_register("clog");
上面這行不需要,應該刪掉。
: $_SESSION['clog']==true;
兩個等號應該是筆誤吧?如果程式裡面就是兩個等號那麼是不會照預期運作的。
: ?>
: 這樣就會被IE擋住右下角有個眼球出現
: 點起來是"隱私權報告" 網站 cookies已封鎖
: 我用的是session為什麼會有這種狀況呢??
: 我session的用法有錯嗎?
: ps:這個程式絕對沒有普通語法錯誤 只要IE解除封鎖就可以運作
: 煩請解答 謝謝
PHP的session機制預設會使用到cookie(但是這並不是指透過session傳遞
的資料都儲存在cookie裡面,只有session id是存在cookie裡面而已)。
你應該去找找php.ini裡面的以下兩項設定:
session.use_cookies
session.use_only_cookies(從4.3.0版本開始才有)
兩個的預設值都是1(開啟)。session.use_cookies代表PHP會"嘗試"使用
cookie來傳遞session id,後者則代表PHP "只會"使用cookie來傳遞session id。
除了使用cookie傳遞session id以外,php也可以透過自動在相對連結以及表單
中加上session id的方式來傳遞session id,這個方式在使用者不接受cookie
的時候可以讓session繼續運作。要讓php在cookie無法使用的時候自動換用
第二種方式,php.ini裡面的session.use_trans_sid這項設定要啟用。
所以你要修改的地方是:
session.use_cookies = 1 #若使用者接受cookie就會使用cookie傳遞sid
session.use_only_cookies = 0 #若使用者拒絕cookie則會自動換用第二種方式傳遞
session.use_trans_sid = 1 #啟用自動改寫連結加入sid功能
不過透過url parameters方式傳遞session id,雖然不受使用者拒絕cookie
的限制,卻會帶來受到針對此方式所設計的攻擊的隱憂。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.153.19
推
08/08 22:35, , 1F
08/08 22:35, 1F
推
08/08 23:52, , 2F
08/08 23:52, 2F
→
08/09 03:37, , 3F
08/09 03:37, 3F
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章