[請益] 如何防止遠程表單攻擊

看板PHP作者 (臉都歪了)時間13年前 (2012/09/27 11:03), 編輯推噓1(104)
留言5則, 5人參與, 最新討論串1/3 (看更多)
我想請問一下 有什麼方法可以防止這種攻擊 檢查REFFER可以偽裝 網路上說用session 可是我看不太懂是什麼意思 而且我照做 還是可以另存頁面再改掉提交 這是傳送端A.php <?php session_start(); $token = md5(uniqid(rand(), true)); $_SESSION['token']= $token; ?> <form action="http://XXXX/B.php" method="post"> <p><label for="name">Name</label> <input type="text" name="name" id="name" size="20" maxlength="40"/></p> <input type="hidden" name="token" value="<?php echo $token;?>"/> <p><input type="submit" name="submit" value="go"/></p> </form> 這是接收端B.php <?php session_start(); if ($_POST['submit'] == "go"){ if ($_POST['token'] == $_SESSION['token']) { echo "success"; }else{ echo "fail"; } } ?> 可是我先開A 然後複製A的原始碼到我的本機改值 然後再送到B 他檢查session還是相同的 邏輯來看好像是這樣沒錯 所以要怎麼做哩 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.248.110.133

09/27 11:15, , 1F
無法.
09/27 11:15, 1F

09/27 11:27, , 2F
加驗證碼勒?
09/27 11:27, 2F

09/27 11:37, , 3F
驗證碼+1
09/27 11:37, 3F

09/27 15:54, , 4F
這的確無法保證表單內容不被修改。
09/27 15:54, 4F

09/28 08:18, , 5F
CSRF 關鍵字
09/28 08:18, 5F
文章代碼(AID): #1GOy8Ahe (PHP)
文章代碼(AID): #1GOy8Ahe (PHP)