作者: C.Andyclp 時間: 2008-11-17 18:48 標題: 兩個php檔的錯誤...
提示: 作者被禁止或刪除 內容自動屏蔽
作者: hamu278 時間: 2008-11-17 18:58
我都係新手
- if(isset($_SESSION["password"] && $_SESSION["name"])
登出檔是否要加 session_start(); ?
另外,我通常會用以下方式清除 Session
- unset($_SESSION['abc']);
作者: C.Andyclp 時間: 2008-11-17 18:59
提示: 作者被禁止或刪除 內容自動屏蔽
作者: C.Andyclp 時間: 2008-11-17 19:01
提示: 作者被禁止或刪除 內容自動屏蔽
作者: hamu278 時間: 2008-11-17 19:03 標題: 回覆 3# 的帖子
可以咁:
- unset($_SESSION['abc'],$_SESSION['def'])
---------------
應該係咁:
<?php
session_start();
if(isset($_SESSION["password"] && $_SESSION["name"]))
{
echo "Sorry ! Your are guest !";
exit;
}
else
echo "Welcome".$name;
}
?>
exit; 後你冇左 }
[ 本帖最後由 hamu278 於 2008-11-17 19:04 編輯 ]
作者: C.Andyclp 時間: 2008-11-17 19:04
提示: 作者被禁止或刪除 內容自動屏蔽
作者: hamu278 時間: 2008-11-17 19:06
係唔係有少少問題? (我係下方加左 D 註解,你可將 // 同 // 後既野刪除)
- <?php
- session_start();
- if(isset($_SESSION["password"] && $_SESSION["name"])) // set 左 Session 反而係 Guest?
- {
- echo "Sorry ! Your are guest !";
- exit;
- } // <-- 少左 }
- else { // 少左 {
- echo "Welcome".$name;
- }
- ?>
作者: C.Andyclp 時間: 2008-11-17 19:06
提示: 作者被禁止或刪除 內容自動屏蔽
作者: C.Andyclp 時間: 2008-11-17 19:07
提示: 作者被禁止或刪除 內容自動屏蔽
作者: hamu278 時間: 2008-11-17 19:08
原帖由 C.Andyclp 於 17-11-2008 19:06 發表
加返 } 都出:
Parse error: syntax error, unexpected T_BOOLEAN_AND, expecting ',' or ')' in E:\AppServ\www\test\inc.php on line 3
我知喇,if(isset($_SESSION["password"] && $_SESSION["name"])),isset 唔可以咁用
- if(isset($_SESSION["password"]) && isset($_SESSION["name"]))
作者: C.Andyclp 時間: 2008-11-17 19:09
提示: 作者被禁止或刪除 內容自動屏蔽
作者: C.Andyclp 時間: 2008-11-17 19:11
提示: 作者被禁止或刪除 內容自動屏蔽
作者: hamu278 時間: 2008-11-17 19:11
- <?php
- session_start();
- if (isset($_SESSION['name']) && isset($_SESSION['password'])) {
- echo 'Welcome'.$_SESSION['name'];
- } else {
- echo 'Sorry ! Your are guest !';
- }
- ?>
作者: C.Andyclp 時間: 2008-11-17 19:13
提示: 作者被禁止或刪除 內容自動屏蔽
作者: hamu278 時間: 2008-11-17 19:16
記住,做人要有始有終
開左 { ,要關番 }
開左 ( ,要關番 )
我諗,寫多 D 就唔會犯呢 D 錯架喇
不過,用 $_SESSION 儲存密碼好似...
同埋,只要有 $_SESSION['name'] 同 $_SESSION['password'] 就登入左,好似唔太安全
作者: 不明人士 時間: 2008-11-17 21:09 標題: 回覆 15# 的帖子
session 有加密,應該冇大問題....
反而用 cookies 又唔加 md5 果啲就
作者: C.Andyclp 時間: 2008-11-17 21:26
提示: 作者被禁止或刪除 內容自動屏蔽
作者: C.Andyclp 時間: 2008-11-18 17:09
提示: 作者被禁止或刪除 內容自動屏蔽
作者: thinkpanda 時間: 2008-11-18 17:31
1. password 完全唔應該放係session. 要記住有無正確login, 只需一個boolean flag.
2. password 唔應該不加密咁放係 database. Hashing 係一種處理方法. 用 salt + Hash(salt+password) 儲係database, salt 係一個任意隨機數.
作者: C.Andyclp 時間: 2008-11-18 17:34
提示: 作者被禁止或刪除 內容自動屏蔽
作者: ioptional 時間: 2008-11-18 19:05
原帖由 thinkpanda 於 2008-11-18 17:31 發表
1. password 完全唔應該放係session. 要記住有無正確login, 只需一個boolean flag.
2. password 唔應該不加密咁放係 database. Hashing 係一種處理方法. 用 salt + Hash(salt+password) 儲係database, salt 係一個任意隨機數.
Password 放 Session 無問題, 不過係要 encryt 左先 (e.g MD5)
作者: thinkpanda 時間: 2008-11-18 19:19
我諗唔到有乜野動作要將password 放係session 先做到....
作者: thinkpanda 時間: 2008-11-18 19:22
你既意思係"登入時", 而唔係"註冊時"? 係,只需記ID 就得
需要check password 時先係database 拎個hash 左既password 出黎,用收番黎既password 加埋 database 入面既hash 既 salt 做一次hash , 然後比較結果。
作者: C.Andyclp 時間: 2008-11-18 20:14
提示: 作者被禁止或刪除 內容自動屏蔽
作者: allenkwc 時間: 2008-11-18 20:34
isset(一舊野 ) && isset(另一舊野)
作者: thinkpanda 時間: 2008-11-18 22:38
大概係咁。
salt . md5(password_from_browser . salt) == hashed_password_field_from_db
作者: C.Andyclp 時間: 2008-11-19 06:46
提示: 作者被禁止或刪除 內容自動屏蔽
作者: thinkpanda 時間: 2008-11-19 09:52
關乜鬼PHP 事,用乜野language 都係咁。
作者: laputafish 時間: 2008-11-19 10:23
如果係跟書, 好多就咁比較 password 就算. 但用 md5 的確安全好多.
作者: 不明人士 時間: 2008-11-19 18:28
加埋MD5仲有好處,如果個DB比人HACK左,個HACKER都冇咁大可能睇到啲密碼,變相為用戶多一重保障
作者: thinkpanda 時間: 2008-11-19 18:58
嚴格黎講,MD5 左都唔夠,因為hacker 如果可以成個table 偷走既話,佢就可以用dictionary attack搵哂D password 出黎 . 要MD5 (password + salt) 先可以對抗 dictionary attack.

