LiteSite/signup/網路安全
跳至導覽
跳至搜尋
前提:
網路機器人可以直接用 HTTP POST 打你的 signup.php,完全繞過瀏覽器與 JavaScript。
真正「寫入 AL_users」的地方在 signup.php 的 surveySubmit 分支。
只要對方能 POST 出一個看起來像正常表單的有效負載,就會進資料表。
把 verify 的檢查提升到「只要要寫入 DB 就一定先檢查」的位置,而不是散落在流程中(避免未來改動、或某些分支漏檢查)。
基本修改:
在 signup.php 這段開始處:
}elseif(isset($_POST['surveySubmit']) && $_POST['surveySubmit']==$surveySubmit){
馬上加:
$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;
}