Jump to content
  • 0

Личный кабинет


myRoot
 Share

Question

Здравствуйте, столкнулся с проблемой при создание личного кабинета.

Когда человек вёл даные для входа и нажал кнопку, управление переходит php-файлу. И я хотел узнать, с помощи чего можно вывести ошибку о то, что даные не верны? Так что бы ошибка выводилось на тоже странице, где пользователь водил даные.

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0

в теге form параметр action оставляете пустым, метод указываете get, а обработчик в этом же файле, либо как сказали выше аяксом, но это не на стороне клиента, аякс просто фоном отправляет данные php, он их обрабатывает и выводит ответ.

Link to comment
Share on other sites

  • 0

в теге form параметр action оставляете пустым, метод указываете get, а обработчик в этом же файле, либо как сказали выше аяксом, но это не на стороне клиента, аякс просто фоном отправляет данные php, он их обрабатывает и выводит ответ.

Спасибо, но хотел узнать безопасно ли через get запрос, а также через аякс отправлять пароль и логин?

Или генерировать на php страницу с ошибкой, или делать ajax запрос и генерировать ошибку на стороне клиента

Не очень понял, как  генерировать на php страницу с ошибкой?

Link to comment
Share on other sites

  • 0

через post безопасно, а так мы отправляем на сервак данные, на серваке смотрим их валидность , и если данные не валидны то генерируем страницу с ошибками 

А через get и ajax не безопасно? я хочу что бы при ошибки открывалась та же страница, а как она(страница) узнает что ошибка, SESSION-переменную использовать или что? 

Link to comment
Share on other sites

  • 0

ajax  можно и post'ом отправить, почитайте про ajax там ничего сложного. В результате этого запроса вам вернется ответ сервера, и его уже обрабатываете как хотите(в смысле js'ом делайте что хотите)

Link to comment
Share on other sites

  • 0

ajax  можно и post'ом отправить, почитайте про ajax там ничего сложного. В результате этого запроса вам вернется ответ сервера, и его уже обрабатываете как хотите(в смысле js'ом делайте что хотите)

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

Link to comment
Share on other sites

  • 0

господи, детский сад какой-то...

логин будет передаваться как есть, т.е. в не зашифрованном виде, а вот пароль надо шифровать md5+salt, например вот так:

function GenerateSalt($n=3) {	$key = '';	$pattern = '1234567890abcdefghijklmnopqrstuvwxyz.,*_-=+';	$counter = strlen($pattern)-1;	for($i=0; $i<$n; $i++)	{		$key .= $pattern{rand(0,$counter)};	}	return $key;}$salt = GenerateSalt();$hashed_password = md5(md5($password) . $salt);

про сессии: в сессиях пароли не храним, а храним в бд, и при запросе сравниваем полученный хэш при запросе с введенным паролем.

почитайте прежде о сессиях и куках тут: http://www.softtime.ru/bookphp/gl8_1.php и вот тут: http://phpfaq.ru/sessions

про аякс (еще разок): аякс это лишь инструмент для передачи в фоновом режиме, с безопасностью никак не связан, это скорее для красивости и удобства, он так же передает данные в php, как и сам php, только без перезагрузки страницы.

про безопасность: не стоит зацикливаться и фанатеть на эту тему, ничто невозможно защитить до конца, но как вариант от "дураков" конечно нужно.

про post и get: и тот и другой метод передает данные, которые можно увидеть (post можно посмотреть в отсылках http заголовков, в мозиле к примеру есть плагин: http live так вроде бы называется).

Link to comment
Share on other sites

  • 0

господи, детский сад какой-то...

логин будет передаваться как есть, т.е. в не зашифрованном виде, а вот пароль надо шифровать md5+salt, например вот так:

function GenerateSalt($n=3) {	$key = '';	$pattern = '1234567890abcdefghijklmnopqrstuvwxyz.,*_-=+';	$counter = strlen($pattern)-1;	for($i=0; $i<$n; $i++)	{		$key .= $pattern{rand(0,$counter)};	}	return $key;}$salt = GenerateSalt();$hashed_password = md5(md5($password) . $salt);

про сессии: в сессиях пароли не храним, а храним в бд, и при запросе сравниваем полученный хэш при запросе с введенным паролем.

почитайте прежде о сессиях и куках тут: http://www.softtime.ru/bookphp/gl8_1.php и вот тут: http://phpfaq.ru/sessions

про аякс (еще разок): аякс это лишь инструмент для передачи в фоновом режиме, с безопасностью никак не связан, это скорее для красивости и удобства, он так же передает данные в php, как и сам php, только без перезагрузки страницы.

про безопасность: не стоит зацикливаться и фанатеть на эту тему, ничто невозможно защитить до конца, но как вариант от "дураков" конечно нужно.

про post и get: и тот и другой метод передает данные, которые можно увидеть (post можно посмотреть в отсылках http заголовков, в мозиле к примеру есть плагин: http live так вроде бы называется).

 Спасибо за развёрнутый ответ! 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy