Привет всем...Вот практиковался и написал такой код регистрации,код маленький и все же для обычной реги хватит...Скажите код норм ни говнокод ли?
код
<?php
if (isset($_POST[\'login\'])) { $login = $_POST[\'login\'];
if ($login == \'\') { unset($login);} }
if (isset($_POST[\'password\'])) { $pass=$_POST[\'password\'];
if ($pass ==\'\') { unset($pass);} }
if (empty($login) or empty($pass))
{exit (\"Заполните все поля!\"}
$login = stripslashes(htmlspecialchars(trim($login)));
$pass = md5(stripslashes(htmlspecialchars(trim($pass))));
include (\"system.php\"
$res = mysql_query(\"SELECT id FROM users WHERE login=\'$login\'\"
$row = mysql_fetch_array($res);
if (!empty($row[\'id\'])) {exit (\"введённый логин уже зарегистрирован.\"}
$resto = mysql_query (\"INSERT INTO users (login,password) VALUES(\'$login\',\'$pass\')\"
if ($resto==\'TRUE\')
{echo \"Вы успешно зарегистрированы!\";}else{echo \"Ошибка в полях,вы не зареганы\";}
?>
Не ни какой фильтрации,ты хоть так в переменные пхни данные
<?php
$login = trim(htmlspecialchars(mysql_escape_string($_POST[\'login\'])));
?>
Добавлено 29.11.13 в 17:01:44:
Или создай функцию,например
<?php
function shit($text)
{
return trim(htmlspecialchars(mysql_escape_string($text)));
}
И прописуй так
$login = shit($_POST[\'login\']);
?>
если честно то все гк и дыра.
один из факторов:
фильтруешь не правильно
$login = $_POST[\'login\']; // Дыра
$login = stripslashes(htmlspecialchars(trim($login))); // Уже нет смысла
А почему $login = $_POST[\'login\']; дыра? если не сложно объясни
ibra_MMA_FIGTHER,brмог бы и плюса дать
верное начало
<?php
if(isset($_POST[\'submit\'])) {
if(empty($_POST[\'login\']) || empty($_POST[\'password\'])) exit(\'Заполните все необходимые данные!\');
$login = htmlspecialchars(trim($_POST[\'login\']));
$password = htmlspecialchars(trim($_POST[\'password\']));
дальше
проверка валидации логина и пароля
запись в бд
вывод информации о регистрации
}
else {
Форма авторизации
}
?>