檢視 LiteSite/signup/網路安全 的原始碼
←
LiteSite/signup/網路安全
跳至導覽
跳至搜尋
由於以下原因,您無權編輯此頁面:
您請求的操作只有這個群組的使用者能使用:
使用者
您可以檢視並複製此頁面的原始碼。
[[分類:LiteSite]] ===前提:=== 網路機器人: # 可以直接用 HTTP POST 打你的 signup.php ,完全繞過瀏覽器與 JavaScript。 # 真正「寫入 AL_users」的地方在 signup.php 的 surveySubmit 分支。 # 只要對方能 POST 出一個看起來像正常表單的有效負載,就會進資料表。 # 把 verify 的檢查提升到「只要要寫入 DB 就一定先檢查」的位置,而不是散落在流程中(避免未來改動、或某些分支漏檢查)。 而原來 signup.php 是在造完「"insert into ".$tbl." set …";」SQL 命令後,檢查完「帳號與密碼不得相同」後, $sql 要插入前再檢查「if($_POST['verify']=='我不是機器人'){」。 PS.這樣應該也能攔住機器人注入,為什麼沒攔住? ===基本修改:=== 在 signup.php 這段開始處: <pre>}elseif(isset($_POST['surveySubmit']) && $_POST['surveySubmit']==$surveySubmit){</pre> 馬上加: <pre style='font-size:95%'>$verify = isset($_POST['verify']) ? trim($_POST['verify']) : ''; if ($verify !== '我不是機器人') { $msg="<p class='signup' align='center' style='color:red'>機器人驗證錯誤:請在「機器人驗證」欄輸入「我不是機器人」。</p>"; echo dispWeb($msg, $html1, $html2); exit; }</pre> 然後剔除原來在分支中的「if($_POST['verify']=='我不是機器人'){」及其相關的程式碼。
返回到「
LiteSite/signup/網路安全
」。
切換側邊欄
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
工具
連結至此的頁面
相關變更
特殊頁面
頁面資訊
六年制學程
導覽選單
個人工具
登入
命名空間
頁面
討論
變體
視圖
閱讀
檢視原始碼
檢視歷史
更多
搜尋