С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
 Аватар для Максим1889
48 / 48 / 14
Регистрация: 25.03.2013
Сообщений: 835

Простая форма авторизаци пользователей с базы

07.11.2013, 09:48. Показов 897. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я тут написал форму авторизации, понимаю что она примитивная. помогите мне с как элементарно ее можно защитить от простого взлома?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
echo'<form name="form1" action="#" method="post">
<p>Номер карточки:
Логин  <input name="text" value="'.$_POST['text'].'" type="text" size="20"><p>
Пароль  <input name="password" value="'.$_POST['password'].'" type="text" size="20">
<input type="submit" name="button" value="ВВОД"></form>';  
Include "connect.php";
$login=$_POST['text'];
$password = $_POST['password'];//присваиваем переменную и кодируем её в md5 для безопасности  
$query = "SELECT * FROM log where (Login='$login' AND Password='$password')"; 
$res = mysql_query($query) or die(mysql_error()); 
while ($row=mysql_fetch_array($res))  
{
$log=$row['login'];
$id=$row['id'];
}
If (isset($_POST['button']))
if (!empty($log))
{
echo 'Вы вошли как '.$log.' c ид='.$id.'';
}
else
{
echo"Вы не ввели пароль или допустили ошибку при вводе <p>Логин<b> ".$_POST['text']."</b> с таким паролем не наидено.";
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.11.2013, 09:48
Ответы с готовыми решениями:

Простая форма веб-форма для сложения двух чисел не работает
Не работает скрипт для подсчета сложения.Может я неправильно привязал обработчик события(клик на кнопку подсчитать)? Вот код: ...

Простая система баланса пользователей
Всем привет, вообщем возникла проблема, надо сделать простую систему баланса, т .е. я на странице пользователя вывожу переменную, в которой...

Простая система регистрации пользователей
Всем привет, срочно нужна помощь, есть такой код: function User(firstName, lastName) { this.firstName = firstName; ...

4
2 / 2 / 0
Регистрация: 05.11.2013
Сообщений: 57
07.11.2013, 10:00
Хотя бы добавьте проверку на вводим данных, чтобы например не вводили html теги

Добавлено через 7 минут
Хешируйте передаваемый данные функцией md5
0
 Аватар для Максим1889
48 / 48 / 14
Регистрация: 25.03.2013
Сообщений: 835
07.11.2013, 10:03  [ТС]
так?
PHP
1
2
3
4
5
6
7
8
if(empty($_POST['text']))//если переменная логина пуста или не существует  
{ 
echo"Вы не ввели логин"; // выводим сообщение об ошибке  
}
elseif(!preg_match("/[-a-zA-Z0-9-]{3,15}/", $_POST['text']))//если переменная не соответствует шаблону -a-zA-Z0-9  
{ 
echo"Недопустимые символы<p>"; // выводим сообщение об ошибке      
}
Ну и пароль по аналогии
0
2 / 2 / 0
Регистрация: 05.11.2013
Сообщений: 57
07.11.2013, 10:11
можно и так, хотя и этого бывает мало

Чем больше всевозможных проверок данных, тем лучше
0
 Аватар для Максим1889
48 / 48 / 14
Регистрация: 25.03.2013
Сообщений: 835
07.11.2013, 10:35  [ТС]
вот еще нашел
PHP
1
2
$login=htmlspecialchars(stripslashes($_POST['text']));
$password = htmlspecialchars(stripslashes($_POST['password']));//присваиваем переменную и кодируем её в md5 для безопасности
Добавлено через 5 минут
Только не выходит как сделать чтобы можно было вводить латинские символы

Добавлено через 5 секунд
Только не выходит как сделать чтобы можно было вводить латинские символы

Добавлено через 11 минут
При хешировании мд 5 не ищет пароль в базе. Почему?
PHP
1
2
3
4
5
6
7
8
$passwordmd5=md5($password);
$query = "SELECT * FROM log where (Login='$login' AND Password='$passwordmd5')"; 
$res = mysql_query($query) or die(mysql_error()); 
while ($row=mysql_fetch_array($res))  
{
$log=$row['login'];
$id=$row['id'];
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.11.2013, 10:35
Помогаю со студенческими работами здесь

Простая CMS. Добавление новостей и регистрация пользователей
Здравствуйте. Нужна очень простая CMS, которая включала бы в себя: регистрацию пользователей и добавление от их имени новостей. Без всяких...

Простая форма
Добрый день. В java с gui вообще не знаком. Помогите мне пожалуйста сделать форму, которая состоит из: 1 текстового поля внизу формы,...

Простая форма
Всем привет. Я вообще не разбираюсь в PHP, так что нуждаюсь в вашей помощи. Нужно создать 3 файла - login.php, registration.php и...

Простая форма
Здравствуйте, уважаемые форумчане. у меня вопрос такого плана. Есть 2 формы - одна видимая - при заполнение ее полей экран затемняется и...

Простая форма с вложениями
Здравствуйте, помогите пожалуйста доделать простую форму с вложениями.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru