Board logo

標題: 兩個php檔的錯誤... [打印本頁]

作者: C.Andyclp    時間: 2008-11-17 18:48     標題: 兩個php檔的錯誤...

提示: 作者被禁止或刪除 內容自動屏蔽
作者: hamu278    時間: 2008-11-17 18:58

我都係新手 大家交流下
  1. if(isset($_SESSION["password"] && $_SESSION["name"])
複製代碼
是否欠缺了一個 ) ?
登出檔是否要加 session_start(); ?
另外,我通常會用以下方式清除 Session
  1. unset($_SESSION['abc']);
複製代碼

作者: C.Andyclp    時間: 2008-11-17 18:59

提示: 作者被禁止或刪除 內容自動屏蔽
作者: C.Andyclp    時間: 2008-11-17 19:01

提示: 作者被禁止或刪除 內容自動屏蔽
作者: hamu278    時間: 2008-11-17 19:03     標題: 回覆 3# 的帖子

可以咁:
  1. unset($_SESSION['abc'],$_SESSION['def'])
複製代碼
有咩野 Error?
---------------
應該係咁:
<?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 註解,你可將 // 同 // 後既野刪除)
  1. <?php
  2. session_start();
  3. if(isset($_SESSION["password"] && $_SESSION["name"])) // set 左 Session 反而係 Guest?
  4. {
  5.    echo "Sorry ! Your are guest !";
  6.    exit;
  7. } // <-- 少左 }
  8. else { // 少左 {
  9.     echo "Welcome".$name;
  10. }
  11. ?>
複製代碼

作者: 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 唔可以咁用
  1. 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

  1. <?php
  2. session_start();
  3. if (isset($_SESSION['name']) && isset($_SESSION['password'])) {
  4.          echo 'Welcome'.$_SESSION['name'];
  5. } else {
  6.         echo 'Sorry ! Your are guest !';
  7. }
  8. ?>
複製代碼
Try this, 你 else 後少左 {
作者: 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

原帖由 C.Andyclp 於 2008-11-18 17:09 發表


有更安全的寫法嗎?!


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

原帖由 ioptional 於 2008-11-18 19:05 發表

Password 放 Session 無問題, 不過係要 encryt 左先 (e.g MD5)


我諗唔到有乜野動作要將password 放係session 先做到....
作者: thinkpanda    時間: 2008-11-18 19:22

原帖由 C.Andyclp 於 2008-11-18 17:34 發表


簡單黎黎講,即係註冊時只記ID就得...?
至於pw就向SQL查詢有無呢個就得?!


你既意思係"登入時", 而唔係"註冊時"? 係,只需記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

原帖由 C.Andyclp 於 2008-11-18 20:14 發表


比較結果段碼可唔可以寫黎參考下...?!
即查詢資料庫果度...


大概係咁。

salt . md5(password_from_browser . salt) == hashed_password_field_from_db
作者: C.Andyclp    時間: 2008-11-19 06:46

提示: 作者被禁止或刪除 內容自動屏蔽
作者: thinkpanda    時間: 2008-11-19 09:52

原帖由 C.Andyclp 於 2008-11-19 06:46 發表


咁得意...有些少不像php咁...不過又學到野,thz


關乜鬼PHP 事,用乜野language 都係咁。
作者: laputafish    時間: 2008-11-19 10:23

原帖由 C.Andyclp 於 2008-11-19 06:46 發表


咁得意...有些少不像php咁...不過又學到野,thz

如果係跟書, 好多就咁比較 password 就算. 但用  md5 的確安全好多.

作者: 不明人士    時間: 2008-11-19 18:28

加埋MD5仲有好處,如果個DB比人HACK左,個HACKER都冇咁大可能睇到啲密碼,變相為用戶多一重保障
作者: thinkpanda    時間: 2008-11-19 18:58

原帖由 不明人士 於 2008-11-19 18:28 發表
加埋MD5仲有好處,如果個DB比人HACK左,個HACKER都冇咁大可能睇到啲密碼,變相為用戶多一重保障


嚴格黎講,MD5 左都唔夠,因為hacker 如果可以成個table 偷走既話,佢就可以用dictionary attack搵哂D password 出黎 . 要MD5 (password + salt) 先可以對抗 dictionary attack.





歡迎光臨 電腦領域 HKEPC Hardware (https://h0.hkepc.com/forum/) Powered by Discuz! 7.2