亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

PHP菜鳥關于本課程一點點思考心得,大牛輕噴!——關于登錄驗證時,一些小小的bug。

老師講的很好,由淺及深,很容易理解。
但是仔細看了代碼,發現了一點小小的問題,當然,視頻我還沒有全部看完,不知道后面的有沒有講解到該問題。如果有講到,就忽略本帖。

首先我把下載到的源碼部署在自己機器上,仔細看了看老師的代碼,然后直接在瀏覽器中輸入http://localhost/shopImooc/admin/listAdmin.php,在不登陸的情況之下,會直接出現管理員列表頁面。然后點擊添加或修改管理員,就會直接進入添加或者修改管理員頁面。

在表單中輸入相關信息提交之后,會顯示請先登陸,并跳轉到登陸界面,但是打開數據庫后,發現數據庫中的數據已經被修改或者添加數據。
再看代碼,發現老師的的登陸驗證工作大部分都是交給doAdminAction.php中checklogined()方法完成。所以我的做法(可能不正確,但是經過測試沒有發現問題。)是將checklogined()方法改為:

if(empty($_SESSION['adminId'])&&empty($_COOKIE['adminId'])){
????alertMes("請先登陸","login.php");
????exit;
}

在沒有登陸的情況下,跳回到登陸頁面,并終止腳本執行,防止跳轉頁面之后執行后面的代碼,導致數據被篡改。

這樣做了之后發現仍然有一些操作,比如listAdmin.php等讀操作,是沒有經過doAdminAction.php中checklogined()方法的登錄驗證的。這樣,在不登陸的情況下仍然可以查看給頁面信息。

所以也想請教一下老師,有沒有更好的方法對請求進來的url進行集中過濾或管理?或者有第二期視頻的話,在第二期課程中給予講解。

正在回答

1 回答

嗯 這應該是寫exit退出即可

像listAdmin.php中也需要檢測是否登陸,你加上checkLogined()即可

^-^...

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
手把手教你實現電商網站后臺開發
  • 參與學習       117254    人
  • 解答問題       2101    個

手把手教你用PHP搭建電子商務平臺,由淺入深教你搭建電商系統

進入課程

PHP菜鳥關于本課程一點點思考心得,大牛輕噴!——關于登錄驗證時,一些小小的bug。

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號