| |
|
|
| | Может кто-нибудь подкинет пример как востаовить пароль если пользователь забыл его? Например если пользователь хочет восстановить его,то скрипт должен запросить email, и если он правильный то на мейл то он отправляется ему на мейл. Как отправть майлеру я уже разобрался, спасибо ЯR' у. Данные хранятся в файлах не использую СУБД MySQL
Буду очень благодарен кто помжет решить данную проблему. | |
| |
|
|
| |
|
|
| |
для: 31
(26.07.2006 в 03:19)
| | | Если пароль который хранится в файле зашифрован алгоритмом типа MD5 востановить его будет невозможно, другое дело сгенерировать или заменить пароль пользователя после проверки корректности его мыла и к примеру логина, после чего выслать его юзверю скалеротику! | |
| |
|
|
| |
|
|
| |
для: Lasar
(26.07.2006 в 03:38)
| | | Lasar Вы имеете ввиду скрипт может сгенерировать новый пароль и отправить пользователю? Мне и такой случай пойдет! Ну все равно же есть способы? Если бы было структру на БД MySQL то это егче было бы? | |
| |
|
|
| |
|
|
| |
для: 31
(26.07.2006 в 03:51)
| | | И так и так можно!но нужно что б пароль не был в md5(); | |
| |
|
|
| |
|
|
| |
для: Sobachka
(26.07.2006 в 04:07)
| | | Sobachka ну вообще пока он в данный момент не шифрован. Если Вамнетрудно было бы показать код я был бы Вам очень благодарен!
----
P.S Кстати у меня тоже вап сайт :) | |
| |
|
|
| |
|
|
| |
для: 31
(26.07.2006 в 04:20)
| | | Лутчший способ это хранить пароли в БД, там они шифрованы, а значит относительно защещены. Идеология хранения пролей в фалах по моему несколько не удачна тем более в не шифрованом виде... Вы ведь храните ПАРОЛЬ т.е. святая святых Вашего пользователя, к тому жэ от этого зависит общая безопастность приложения!
P.S. Скрипт напишу, былоб толко время...может кто раньше чего предложет, а вообще в сети много примеров реализации подобного метода, надо только поискать и детально проаналезировать код......NB! Не когда не доверяйте скриптам сторонних разработчиков, если конечно у Вас далеко идущие планы относительно Вашего проекта!....Удачи!! | |
| |
|
|
| |
|
|
| |
для: Lasar
(26.07.2006 в 04:37)
| | | Lasar конечно же беопасноть очень важна. Но пока я просто только изучающий этот удивитильный язык программирования. Поэтому я и пишу здесь такие глупые вопросы для Вас опытных мастеров естественно. | |
| |
|
|
| |
|
|
| |
для: 31
(26.07.2006 в 04:46)
| | | Вот примерно как надо сделать, только для такого шифрованя необходимо, чтобы на сервере была установлена библиотека mcrypt
<?php
// config.php -- настройки скрипта
$password = 'fuck'; // секретное слово для шифрования
?>
|
<?php
include('config.php');
// Зашифровка
$text = "Hello, World";
$iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
srand();
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$cipher_text = mcrypt_encrypt(MCRYPT_BLOWFISH, $password, $text, MCRYPT_MODE_ECB, $iv);
$text = $iv.$cipher_text; // Пароль
// занесение его в файл с паролями
?>
|
<?php
include('config.php');
// Расшифровка для восстановления пароля
// $messagedata -- зашифрованный пароль в базе данных
$iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
$iv = substr($messagedata, 0, $iv_size);
$cipher_text = substr($messagedata, $iv_size);
$text = mcrypt_decrypt(MCRYPT_BLOWFISH, $password, $cipher_text, MCRYPT_MODE_ECB, $iv);
?>
|
Кстати, необходимо запретить доступ к директории, где хранится файл с паролями, с помошью .htaccess:
либо только к файлу с паролями:
<Files passwords.php>
deny from all
</Files>
|
| |
| |
|
|
| |
|
|
| |
для: ЯR
(26.07.2006 в 06:48)
| | | ЯR, спасибо Вам огромное, именно это мне было и нужно. | |
| |
|
|
| |
|
|
| |
для: 31
(26.07.2006 в 15:54)
| | | ЯR, а можно каим-либо способ узнать включена ли у моео хостера эта библиотека? Я им написал, но думаю как всегда не скоро ответят.
P.S Прошу прощения за вопрос не по теме | |
| |
|
|
| |
|
|
| |
для: 31
(26.07.2006 в 19:34)
| | | А потом когда пользователь поребует новый пароль выслать это сделать можно функцией almsg | |
| |
|
|
| |
|
|
| |
для: 31
(26.07.2006 в 19:34)
| | | >ЯR, а можно каим-либо способ узнать включена ли у моео
>хостера эта библиотека? Я им написал, но думаю как всегда не
>скоро ответят.
можно с помощью phpinfo() (посмотреть там установленные расширения) или
get_loaded_extensions() -- она возвращает массив с загруженными расширениями. | |
| |
|
|
| |
|
|
| |
для: ЯR
(27.07.2006 в 03:01)
| | | Вообщем готова! работает вот так :
<?
include 'head.php';
include 'dan.php';
$zag="Пароль";
include 'zag.php';
if($zmail=="" || $did==""){
// страница входа
print"<form action=\"vpass.php\" method=\"post\">";
print "E-mail указанный при регистрации <br><input name=\"zmail\"/><br>
Введите ваш номер регистраци:<br><input name=\"did\"/></br>
<input type=\"submit\" value=\"Выслать пароль\"/>
</form><br/><br/>";}
else{
if(@file("$site/$did.dat")){
$ar_site=@file("$site/$did.dat");
$ars_site=explode("|<br/>|", $ar_site[0]);
if($zmail==$ars_site[4]){
$mail_tema="Пароль";
$mail_text="Добрый день!
Ваш пароль участника в рейтинге $put: $ars_site[3]
---
Если это письмо попало к вам по ошибке, то просто проигнорируйте его.";
$otpravka=@mail($ars_site[4], $mail_tema, $mail_text,"From: $admin_mail
Content-type: text/plain; charset=utf-8");
if(!$otpravka){print"Функция недоступна. Попытайтесь позже.";} else {print"Письмо с паролем отправленно вам на е-мэил.";}
} else {print"Вы указали неверный номер регистрации или е-мэил!";}
} else {print"Регистрации не существует!<br/>";}
}
print"<br/><a href=\"index.php?did=$did\">Рейтинг</a><br/>
<a href=\"$g_link\">$name_link</a>";
include 'end.php';
?>
|
| |
| |
|
|