我在页面上有一个文本框,如下所示:
<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。很抱歉没有指定。 :)
答案 0 :(得分:3)
就你所显示的而言,你并非做任何具有该值的事物 因此,在这段代码中没有任何东西可以被滥用。
答案 1 :(得分:1)
脱离我的头脑,可能出现问题:
检查安全码:
安全码是什么意思?代码只是意味着访问一个简单的文本文件到任何东西,包括添加其他用户,删除用户,....列表是无穷无尽的
如果另一个人(比如在图书馆中)忽略了用户的肩膀是那个纯文本代码还是使用password
字段?如果某人不容易偷偷摸摸的话。
我确信其他人可以想到其他事情。
答案 2 :(得分:0)
简单比较(此值等于该值)将不允许恶意代码。
我更担心你是如何比较它的。如果您正在进行直接比较,那么我希望您没有使用可能在世界其他地方使用的值(例如,用户自己设置的密码,他们可能在其他地方使用),因为访问的地方存储的安全代码显示安全代码。这本身并不是什么大问题(攻击者已经拥有访问权限),除非它可能是硬编码到文件本身(在这种情况下,一个揭示源代码的漏洞 - 多年来已经有一些 - 揭示了如何登录),但如果用户可以设置代码,那么您刚刚显示了他们可能在其他网站上使用的密码。