[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите плиз по регистрации и форме
Ded_Mazay
Доброго времени суток всем! Интересует 2 вопроса:
1. Допустим, пользователь заходит на сайт под своим логином и паролем и хочет оставить комментарий. Как можно осуществить автоматическую вставку данных этого пользователя из его профиля?
2. Как осуществить такую форму? Пользователь выбирает в поле формы определенное значение и автоматически добавляются дополнительные пункты формы?
Заранее спасибо за ответы)



Спустя 16 минут, 36 секунд (18.06.2010 - 22:21) tomash написал(а):
Ded_Mazay
по-первому пункту Вам нужно при авторизации пользователя выбирать из БД его данные и отдавать их скриптом на страницу

по-второму пункту http://phpforum.ru/index.php?showtopic=15603

Спустя 13 минут, 20 секунд (18.06.2010 - 22:34) Ded_Mazay написал(а):
tomash
по второму пункту спасибо.
А по первому можно подробнее?

Спустя 8 минут, 5 секунд (18.06.2010 - 22:43) tomash написал(а):
Цитата (Ded_Mazay @ 18.06.2010 - 19:05)
1. Допустим, пользователь заходит на сайт под своим логином и паролем и хочет оставить комментарий. Как можно осуществить автоматическую вставку данных этого пользователя из его профиля?

Откуда Вы знаете что эти логин и пароль правильные? Вы их где-то должны хранить и при получении их от браузера сравнивать. Точно так же хранить данные о пользователе, например, в БД и показывать по требованию. Или я неправильно понял?

Спустя 44 минуты, 24 секунды (18.06.2010 - 23:27) Jallvar написал(а):
Пример! тупо пример! Нам понадобятся сессии
$query=mysql_query("SELECT id FROM где пользователи WHERE=$_POST['login']");
$row=mysql_fetch_array($query);
$_SESSION['id']=$row['id'];

А при добавление вот так
$query=mysql_query("SELECT * FROM где пользователи WHERE=$_SESSION['id']");
$row=mysql_fetch_array($query);

Вроде такой смысл

Спустя 7 минут, 51 секунда (18.06.2010 - 23:35) Ice написал(а):
странные запросы какие-то tongue.gif

Спустя 10 часов, 10 минут (19.06.2010 - 09:45) tomash написал(а):
Ded_Mazay
Не используйте в скриптах суперглобальные переменные! Нужно так:

$login = mysql_real_escape_string( $_POST['login']);


а потом работайте с переменной $login

Спустя 15 минут, 10 секунд (19.06.2010 - 10:00) Basili4 написал(а):
Единственное вчера буквально столнудся с хаком вот втаком месте значится так запрос

$login = mysql_real_escape_string( $_POST['login']); // вот это не защитило от добавлении or id=id в итоге выволилось столько инфы из базы.
Select * from users where login=$login

Я вчера поломал голову и решил так более не проверять буду проверять наличие юзера и правильность пороля только так

Select count(id) from users where login=$login and pwd=$password если 1 значт все ок если 0 значит нету такой связки если больше 1 значится дублирование логина пароля в базе.


Спустя 3 минуты, 46 секунд (19.06.2010 - 10:04) tomash написал(а):
Basili4
Нужно было добавить LIMIT 1 , и все, а если ожидаете цифру то сделайте
intval().

Спустя 2 минуты, 22 секунды (19.06.2010 - 10:06) Basili4 написал(а):
уже везде добавил но сам ФАКТ уязвимости то посему лучше через count там хоть как ничто лишнее не вывалится

Спустя 6 минут, 42 секунды (19.06.2010 - 10:13) tomash написал(а):
Basili4
А зачем пробелы оставлять в переменных? wink.gif

Спустя 8 минут, 30 секунд (19.06.2010 - 10:21) Basili4 написал(а):
это в логине можно не остолвять а если например пароль я пороли пропускаю почти как есть убераю только теги и не допускаю совпадения logina и пароля там тоже возможен подобный казус я вообще решил не вертать из базы значения типа пароли и логины и тд. пусть будет черный ящик наружу только прошел не прошел. Запрос с count не нагрузит севрер сильнее а я буду спокойней. Я не учу как надо. Я вчера увидел как просто знающему челу раздолбить сайт. В общем я в унынии. Как мало я знаю о защите.

Спустя 3 минуты, 21 секунда (19.06.2010 - 10:25) tomash написал(а):
Basili4
Но в пароле пробелов быть не может )))) Мы же их хэшируем, поэтому в пароле может быть что угодно))))

Но логин то достать нужно! Написать "Привет, Basili4"

Спустя 11 минут, 13 секунд (19.06.2010 - 10:36) Basili4 написал(а):
"Привет, Basili4" можно написать тут же не вводя никаких параметров для запроса из вне. мы же говорим про вход пользователя. это одно. А хотя возможно ты прав защитить страницу от подобной атакки можно указав limit 1 а в Select указать лишь login и уровень пользователя тады как не крути получишь только то что уже знаешь

Спустя 21 минута, 58 секунд (19.06.2010 - 10:58) tomash написал(а):
Я имею ввиду приветствовать юзера на сайте после авторизации. А если не допускать в логин пробелов и спецсимволов и проверять на уникальность, то больше одной записи все равно не получишь))))
Ну естественно мы не доверяем внешним данным
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.