2016-12-15 35 views
0

這是擺在unlock.php代碼:我想解開一個用戶,我想是這樣,但得到的錯誤,而不是"Error still locked...""User unlocked"網址查詢通行證PHP變量

> <?php require_once("../../db-config.php"); 
> 
> $Result = "ERROR, still locked..."; if (isset($_POST['User'])) { 
>   if (mysql_query("DELETE FROM LoginAttempts WHERE User='".$_POST['User']."'", $conn)) 
>     $Result = "User Unlocked"; } if ($conn) 
>   mysql_close($conn); echo $Result; ?> 

http://example.com/unlock.php?User=Administrador 

我應該如何傳遞URL中的變量User=name

+0

不用擔心,有人會很快用sql注入解鎖你的整個數據庫 – e4c5

+1

使用'$ _GET'而不是Post。如果從URL獲取參數,則POST是針對HTML表單提交的數據。是的,你根本不用保存SQL注入。 – Twinfriends

+0

作爲@Twinfriends說只是改變'$ _POST'到'$ _GET' –

回答

1

您可以使用$ _GET來收集您的URL參數。或者$_REQUEST(從POST,GET和COOKIE收集)。

當心,這個調用:

http://example.com/unlock.php?User=Administrador' OR 1=1

將清空你的LoginAttempts表。

至少用mysql_real_escape_string($_GET['User'])消毒您的輸入。

+0

Apache通過使用此URI禁止訪問 –

0

我已經通過轉到PHPmyadmin並刪除db表中相應的失敗登錄嘗試條目來解決此問題。

不同的方法解決了這個問題。我已經警告過安全問題。

謝謝你們。