2016-12-15 36 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表中相应的失败登录尝试条目来解决此问题。

不同的方法解决了这个问题。我已经警告过安全问题。

谢谢你们。