恶意用户可以滥用此功能吗?

时间:2012-08-08 13:09:02

标签: php security input textbox

我在页面上有一个文本框,如下所示:

<form action="verify.php" method="post">
<input type="text" width="30" name="securityCode"><br />
<input type="submit" value="Go" />
<form>

并且在verify.php上我有这个:

<?php
$enteredCode=$_POST['securityCode'];
//Other stuff
?>

我想知道的是,如果有任何恶意的话?例如。如果他们在文本框中输入了一些PHP会有效吗?

修改

我认为这不重要,但显然确实如此。如果他们输入正确的代码我将$_SESSION['passedSecurityCheck']设置为true,否则我将其设置为false。很抱歉没有指定。 :)

3 个答案:

答案 0 :(得分:3)

就你所显示的而言,你并非任何具有该值的事物 因此,在这段代码中没有任何东西可以被滥用。

答案 1 :(得分:1)

脱离我的头脑,可能出现问题:

  1. 检查安全码:

    • 您是否使用数据库执行此操作 - 如果是,请执行SQL注入
    • 使用服务器上的文件检查代码,有人可以嗅探某些人的文件
    • 您使用的是外部程序吗?包括(但不适用于)shell,参数,文件名等存在很多困难。
  2. 安全码是什么意思?代码只是意味着访问一个简单的文本文件到任何东西,包括添加其他用户,删除用户,....列表是无穷无尽的

  3. 如果另一个人(比如在图书馆中)忽略了用户的肩膀是那个纯文本代码还是使用password字段?如果某人不容易偷偷摸摸的话。

  4. 我确信其他人可以想到其他事情。

答案 2 :(得分:0)

简单比较(此值等于该值)将不允许恶意代码。

我更担心你是如何比较它的。如果您正在进行直接比较,那么我希望您没有使用可能在世界其他地方使用的值(例如,用户自己设置的密码,他们可能在其他地方使用),因为访问的地方存储的安全代码显示安全代码。这本身并不是什么大问题(攻击者已经拥有访问权限),除非它可能是硬编码到文件本身(在这种情况下,一个揭示源代码的漏洞 - 多年来已经有一些 - 揭示了如何登录),但如果用户可以设置代码,那么您刚刚显示了他们可能在其他网站上使用的密码。