【发布时间】:2017-05-19 17:39:59
【问题描述】:
<?php
$username=$_POST['user'];
$password=$_POST['pass'];
if($username=='admin' AND $password=='pass'){
echo "inside";
}
?>
<form action='' method='post'>
<input name=user>
<input name=pass>
<input type='submit'>
</form>
由于我是 php 新手并且我正在研究 sql 注入...我已经制作了一个没有 sql 查询的示例代码,我只想进入打印...
我正在尝试将用户值和密码值设置为""==""OR""...但它不起作用...如果我尝试使用此echo var_dump(""==""OR""=='admin'); 它是真实的
【问题讨论】:
-
第一。我会检查您是否获得了您想要在帖子中获得的数据。在将其放入您的 if 语句之前,请先尝试回显它。从表单获取数据的一个好习惯是检查是否发布了任何内容。您可以使用以下方法进行检查:` if(isset($POST["user]) { ..do something }` 您的逻辑很好,因此您发布的值一定是不正确的。
-
SQL在哪里?
-
我不知道这是怎么回事。
-
永远不要存储纯文本密码!请使用 PHP 的built-in functions 来处理密码安全问题。如果您使用低于 5.5 的 PHP 版本,您可以使用
password_hash()compatibility pack。 在散列之前不需要escape passwords 或对它们使用任何其他清理机制。这样做会更改密码并导致不必要的额外编码。
标签: php sql-server