Cha*_* L. 0 html javascript css php mysql
我无数次扫描了我的代码,根本无法解决这个问题.每次我点击登录,它都会返回错误的密码和用户名.
admin.php的
<div class="container">
<div class="row">
<div class='col-md-3'></div>
<div class="col-md-6">
<div class="login-box well">
<form action="connectivity.php" method="post">
<legend>Sign In</legend>
<div class="form-group">
<label for="user">Username</label>
<input type="text" id="user" name="user" placeholder="Username"class="form-control" />
</div>
<div class="form-group">
<label for="pass">Password</label>
<input type="text" id="pass" name="pass" placeholder="Password" class="form-control" />
</div>
<div class="form-group">
<a href="index.php" class="btn btn-link pull-right">Return to Login</a>
<input name="submit" type="submit" class="btn btn-warning btn-login-submit btn-block m-t-md" value="Login" />
</div>
</form>
</div>
</div>
<div class='col-md-3'></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
connectivity.php
<?php
session_start();
define('DB_HOST', 'localhost');
define('DB_NAME', 'login-invoices');
define('DB_USER','root');
define('DB_PASSWORD','');
$con=mysql_connect('localhost', 'username','password', '') or die("Failed to connect to MySQL: " . mysql_error()); $db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error());
/*
$ID = $_POST['user'];
$Password = $_POST['pass'];
*/
function SignIn()
{
session_start(); //starting the session for user profile page
if(!empty($_POST['user'])) //checking the 'user' name which is from Sign-In.html, is it empty or have some text
{
$user = $_POST[user];
$pass = $_POST[pass];
$query = "SELECT * FROM login where username = '$user' AND password = '$pass'";
$query = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($query) or die(mysql_error());
if(!empty($row['user']) AND !empty($row['pass']))
{
header("location: Home.html");
} else {
echo "SORRY... YOU ENTERD WRONG ID AND PASSWORD... PLEASE RETRY...";
}
}
}
if(isset($_POST['submit']))
{
SignIn();
}
?>
Run Code Online (Sandbox Code Playgroud)
你有一些缺失的报价:
$user = $_POST[user];
$pass = $_POST[pass];
Run Code Online (Sandbox Code Playgroud)
固定版本:
$user = $_POST['user'];
$pass = $_POST['pass'];
Run Code Online (Sandbox Code Playgroud)
正如Chris所说,你的列名在这里是不正确的:
if(!empty($row['user']) AND !empty($row['pass']))
Run Code Online (Sandbox Code Playgroud)
根据你的SQL,它们应该是:
if(!empty($row['username']) AND !empty($row['password']))
Run Code Online (Sandbox Code Playgroud)
最后,快速在线搜索"SQL Inject Attacks":
$query = "SELECT * FROM login where username = '$user' AND password = '$pass'";
Run Code Online (Sandbox Code Playgroud)
如果我使用以下用户名登录:
'; SELECT * FROM login LIMIT 1; --
Run Code Online (Sandbox Code Playgroud)
我很确定我可以访问你的系统!
| 归档时间: |
|
| 查看次数: |
253 次 |
| 最近记录: |