Я создаю страницу входа для моего сайта.Я использовал Dreamweaver для создания кода входа.Я не знаю много о php, , но когда я захожу с неверным паролем (но с правильным именем пользователя), это позволяет мне войти в ограниченную часть сайта.
Например: предположимправильное имя пользователя - test, а правильное имя пользователя - test123.Когда пользователь вводит «test» для имени пользователя и вводит любую букву (хотя, если вы вводите число, оно не пропускает вас) для пароля, он регистрирует их и пропускает.Это было бы плохо ...
Есть ли способ убедиться, что сайт проверяет правильность и пароля и имени пользователя?
Я почти ничего не знаю о php.Поэтому любая помощь будет принята с благодарностью.
Вот мой код для входа в систему:
<?php
require_once('Connections/--------_userdatabase.php');
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = ""){
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['username'])) {
$loginUsername=$_POST['username'];
$password=$_POST['password'];
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "http://www.-----------.org";
$MM_redirectLoginFailed = "http://www.-----------.org/login.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_-------_userdatabase, $--------_userdatabase);
$LoginRS__query=sprintf("SELECT Username, Password FROM userdatabase WHERE Username=%s AND Password=%s",
GetSQLValueString($loginUsername, "int"), GetSQLValueString($password, "int"));
$LoginRS = mysql_query($LoginRS__query, $--------_userdatabase) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";
if (PHP_VERSION >= 5.1) {
session_regenerate_id(true);
} else {
session_regenerate_id();
}
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
if ($loginUsername === 'Admin') {
header("Location: http://www.------------.org/user/-------/");
} else if ($loginUsername === 'User') {
header("Location: http://www.------------.org/user/-------/");
} else if ($loginUsername === 'User2') {
header("Location: http://www.-----------.org/user/--------/");
} else {
header("Location: " . $MM_redirectLoginSuccess );
}
} else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>