Как да създадете повторно задаване на парола връзка стека преливане на Руски на

Принципът на работа е както следва:

  1. Потребителят въвежда имейла
  2. получава писмо
  3. Минете чрез позоваване
  4. Въвежда нова парола

Но аз не знам как да се защитят връзка, което се изпраща по електронна поща, както и че по принцип може и трябва да го давате !!

Моля, кажете ми как да се приложи това?

Докато мисълта за такава опция:

Вземете електронна поща, да проверя дали има тя е в базата данни. След това, за вход, парола, имейл вземе в един ред се кодира в md5 ().

Аз изпратим имейл с линк: www.sayt.ru getPass = $ ул

На следващо място, както аз го разбирам, че трябва да се създаде база данни за по-късно $ на ул, защото когато го получа? GetPass = $ ул. Аз трябва да го сравня.

Е, в таблицата, съответно, да се уточни датата, за да се отстрани, като на ден, ако потребителят не е преминал в справката.

Е, аз ще го направят, но бих искал да се по-опитни програмисти, предложени как най-добре

Да, прав си, на ул $ може да се генерира на случаен принцип, аз обикновено направете следното: кодирана низ в md5 ()? създаде база данни, в която се поставя на стойността, и когато потребителят преминава през кодирана връзка, аз го сверени с базата данни и ако има съвпадение, оставащата форма за попълване на нова парола.

Бих се създаде отделна чиния или допълнителни записи.

Например Pass_recovery плоча с полета USER_ID, access_hash, изтече.

user_id - ID juzverej (външен ключ)

access_hash - произволна md5 () или sha1 () хеш достъп, такива, дори md5 (време ())

изтича - например 1 час от момента на искането за възстановяване на паролата

След това въведете в имейла, за да изпратите линк:

Сценарий за recovery_id ние бързо да разберете Pass_recovery маса стойност и проверки recovery_id == user_id и recovery_hash == access_hash.

Бързо, тъй като тя е трябвало да бъде индекс на масата! Ако тестът е успешен офертата juzverej въведете паролата директно на сайта. След това се пречиства accessHash маса.

Отговорено 19 '12 септември в 19:18