... Естественно его всегда хранят в зашифрованном виде, чтобы злоумышленник, даже получив базу хэшейпаролей, долго ломал над ней голову, и расшифровывал...
... Значит существуют другие комбинации символов, отличные от вашего пароля, хэш которых совпадает с вашим...
... Так вот чтобы обезопасить себя от случайного подбора злоумышленником одной из коллизий, будем при регистрации сохранять в базу не только md5-хэшпароля, но и хэш этого же пароля, но перевёрнутого наоборот...
... И при авторизации пользователя будем сверять оба этих хэша с соответственно хэшом перевёрнутого или нет пароля...
... Тут уже можно проявить фантазию и хранить хэши от слов, полученных из паролей всякими изощрёнными алгоритмами...
... Часто, при всякого рода регистрациях в различных сервисах бывает необходимо записать введённый пользователем пароль...
... Естественно его всегда хранят в зашифрованном виде, чтобы злоумышленник, даже получив базу хэшейпаролей, долго ломал над ней голову, и расшифровывал...
... Обычно просто берётся введённый пароль и шифруется стандартным алгоритмом шифрования md5()...
... Поскольку алгоритм md5() выдаёт строку длины 32 символа, значит их конечное число, а паролей может быть бесконечно много...
... Значит существуют другие комбинации символов, отличные от вашего пароля, хэш которых совпадает с вашим...
... Так вот чтобы обезопасить себя от случайного подбора злоумышленником одной из коллизий, будем при регистрации сохранять в базу не только md5-хэшпароля, но и хэш этого же пароля, но перевёрнутого наоборот...
... И при авторизации пользователя будем сверять оба этих хэша с соответственно хэшом перевёрнутого или нет пароля...
... Тут уже можно проявить фантазию и хранить хэши от слов, полученных из паролей всякими изощрёнными алгоритмами...
... Дальше запускаем install.php Всё, дор готов к работе...
... Открываем config.php в блокноте, меняем значения переменных: $CONF['door_name'] - сюда вписываем название дора (то, что будет в теге <title>) $CONF['feed_href'] - адрес фида, куда будет посылаться трафик с дора $CONF['feed_height'] - высота фрейма, в котором показывается выдача фида $CONF['redirect'] - использовать редирект? true или false...
... Update: Важно! Если ваш на вашем хостинге в php не включена директива allow_url_fopen, то новые страницы в дор добавляться не будут! Создайте файл test.php c содержанием: <?phpphpinfo(); ?> Откройте в браузере и найдите allow_url_fopen...
... Открываем в браузере http://yourdomain.com/%catalog_dir%/index.php вписываем требующиеся настройки, жмём старт и идём пить чай пару часов...
... Первым делом заглянем в /config/rewrite.php и изменим урлы страниц, добавив туда нужных кеев типа download, album, mp3, mp3search и т.д...
... Например в /inc/artist.php найдём такую строчку: if($i<3) $firstAlbums .= " - ".$result["_name"]; и изменим её на: if($i>$query->numRows()-4) $firstAlbums .= " - ".$result["_name"]; В /inc/album.php проделаем тоже самое только с треками...
... Нам нужно будет создать функцию к примеру allmusic(), и прописать в /inc/artist.php строчки: $mp3Content = allmusic($result["_name"]); а затем $tpl->assign("MP3_CONTENT", $mp3Content); Ну и в шаблоне указать где-нибудь это самое {MP3_CONTENT} Получим очень много страниц с нормальным контентом, а все знают что контент - король...
... Системные требования: php 5, Zend Optimizer 3.* Функция mail() и библиотека Curl для php Safe mode = Off (Если эта директива на вашем хостинге включена, возможно не все букмарки будут работать, но постить будет) Спешу вас обрадовать, что любой современный нормальный хочтинг всеми перечисленными пунктами обладает...
... Что получилось видно тут: <?php $file=file_get_contents("http://www.google.com/search?q=noulake &hl=en&start=0&sa=N"); $str = "\<h2 class=r\>(([\r\n])*[\s]*)\<a href=\"([^\"]+)\"([^\>]+)\>(.+)\<\/a\> (([\r\n])*[\s]*)(\<br\>)?(([\r\n])*[\s]*)\< \/h2\>(.*)\<td class=\"j( hc)?"\>(([\r\n])*[\s]*) \<font size=-1\>(<span class=f\>(.+)\<\/span\> (.+)\<br\>)?((.*)\<br\>)?\<span class=a\>"; preg_match_all("/$str/Uis",$file,$matches); for($i=0; $i<count($matches[1]); $i++) { $serp[$i]['title'] = $matches[5][$i]; $serp[$i]['description'] = $matches[18][$i]; $serp[$i]['url'] = $matches[3][$i]; } print_r($serp); ?> Переносы строк в урле гугловой выдачи в строке регулярного выражения сделаны специально, чтобы не растягивать всё по горизонтали, когда будете пихать это в код, нужно будет собрать в одну строчку...
... После процесса добавления друга, этому самому другу приходить на электронный ящик письмо, в котором красочно описано, что дескать, такой-то такой-то добавил вас в список друзей, ваш пароль такой-то, ссылка для изменения вашей инфы такая-то...
... Буквально за 5 минут нашёл гуглом 4 установленных блогофермы, хотя искал совсем другое :) Защищайте директории с блогофермами паролями, запись в robots.txt, даже если она есть, от гуглбота не спасает...