정말 내 검열에 그 검사가 필요합니다 :등록시 대소 문자 + 사용자 이름의 1/10을 확인하는 방법은 무엇입니까?
1) 문자가 크거나 작습니까? 그렇지 않으면 내가, 등록 후 내 시스템에 난 크고 작은 문자 :(최소 문자 (의
2) 길이 내 이름을 쓰고 있어요 상관없이 로그인 할 수 있습니다 3) 어떻게 그렇게 할 수 있습니까? :( 내 코드는 다음과 같습니다
<?php
//Проверява дали потребителя е логнат.
//'isset' Проверява дали променливи са 'СЕТнали.
if(isset($_SESSION['username'])){
header("location: index.php");
}
//Проверява дали потребителя е натиснал бутона събмит
if(isset($_POST['submit']))
{
//Променливи от таблицата
$username = $_POST['username'];
$password = $_POST['password'];
$rpassword = $_POST['rpassword'];
$gender = $_POST['gender'];
$city = $_POST['city'];
// Get the current date
$regdate=date("Y-m-d");
//Криптиране на парола
$password = md5($password);
$rpassword = md5($rpassword);
//Махане на бели полета
$username = trim($username);
$password = trim($password);
$rpassword = trim($rpassword);
//Зашита от Mysqli Инжекция
$username = stripslashes($username);
$password = stripslashes($password);
$rpassword = stripslashes($rpassword);
$username = mysqli_real_escape_string($connection, $username);
$password = mysqli_real_escape_string($connection, $password);
$rpassword = mysqli_real_escape_string($connection, $rpassword);
//Проверява дали потребителя е оставил празни полета
if ($_POST['username'] == "" || $_POST['password'] == "" || $_POST['rpassword'] == "" ) {
echo "<font color='#ec3f8c'>Всички полета са задължителни!</font>";
}
else
{
//Проверява дали паролите съвпадат
if($password != $rpassword)
{
echo "<font color='#ec3f8c'>Паролата не съвпада</font>";
}
//Проверява дали потребителското име е взето, ако не тогава ДОБАВИ потребителско име и парола във БД
else
{
//Query the DB
$query = mysqli_query($connection,"SELECT * FROM users WHERE username = '$username'") or die("Таблицата не е създадена!");
//Count the number of rows. If a row exist, then the username exist!
$row = mysqli_num_rows($query);
if($row == 1)
{
echo "<font color='#ec3f8c'>Потребителско име вече е заето.</font>";
}
//Добави потребителско име във БД
else
{
$add = mysqli_query($connection,"INSERT INTO users (id, username, password, gender, city,regdate) VALUES (null, '$username' , '$password','$gender','$city','$regdate') ") or die("Can't Insert! ");
echo "<font color='#5cb85c'>Честито! <a href='login.php'> Цък тук </a> За да се логнеш.</font>";
}
}
}
}
?>
영어로 코드를 붙여주세요보십시오. –
을 ** 패스워드 해시 MD5를 사용하지 마십시오 **이 안전하지 않습니다. MD5 해시는 계산이다 _easy_와 현대 GPU는 즉시 그들을 역으로 맞출 수 있습니다. 대신 새로운 ['password_hash' API] (http://www.php.net//manual/en/fun ction.password-hash.php). 이것은 안전합니다. –
필자는 그 동안 mysqli_real_escape_string을 통해 수동으로 쿼리를 이스케이프 처리하는 준비된 문을 선호한다. –