При этом, правда, не стоит забывать о безопасности. В частности, о типах файлов, обрабатываемых веб-сервером.
Если файлы именно инклюдить\рекурить то тип файла не имеет значения, его содержимое вставляется как текст в тело скрипта с инклюдой.. А потом в .htaccess пишем запреты и все путем.. Самое приятное что если в главном файле идет чистый код, а во вставляемом хтмл/php-теги (пример: <tr><td><? print $peremennaya; ?></td></tr>), или просто хтмл,
никакой ошибки не возникает..
Вы, вероятно, прочли русскоязычный вариант статьи, он несколько неточен. Затравка лишь позволяет увеличить длину исходного набора символов, и, следовательно, увеличивает сложность, а так же может исключить возможность взлома в связи с тем, что таблица расчитана на определенную длину.
Ведь, по сути, если злоумышленник может восстановить из md5 исходные данные, то, восстановив
он может просто перебрать все строки, отрезая по 1 символу с конца, к примеру.
отпечаток имеет конечную длину символов...
включаем вторую соль которая будет заменять символы "a" на "f" например или работать по иному алгоритму... И 3 года 3 дня и 3 ночи бот будет заниматься подбором находясь на той странице.. А как же время жизни сессии?
Защита от радужных таблиц
Данные таблицы невозможно использовать против необратимых хеш-функций, которые включают salt (соль). Например, рассмотрим следующую функцию для создания хеша от пароля:
Это оттуда.. Я не думаю что кто-то или чт-то будет так рьяно ломать малоизвестный сайтик с никому ненужным содержанием.. Я ведь эту приблуду не собираюсь вешать на серьезный проект..
этот код ни от чего не защитит, т.к. есть прямая зависимость между названиями файлов картинок и строкой, анализатор пишется на коленке за 2 минуты, ещё пара минут на заполнение массива соответствия названия файла с буквой. если уж хочется обойтись без gd-библиотеки, используйте логические вопросы (например, "что светлее, черное или белое", "на какой планете мы живем", "сложите 10 и 15, полученное умножьте на два" ну и в таком духе), только база вопросов должна быть огромной(ну а куда без этого :)), часть из них самогенерирующиеся (арифметические, как минимум) .
Базу вопросов я как-то делал из детских загадок, смотрелось очень даже симпатично..
С "солью" зависимость уже не прямая, в ней ведь может быть все что угодно...
md5() необратим... Брутить? И сколько времени вы будете это делать?
нет, данный метод очень плох... В том смысле, что данное поле взламывается вполне быстро. Если даже у робота нет подходящего шаблона, кодер напипшет его в приделах 15 минут.
если надо могу описать принцип взлома вашей капатчи либо предложить вариант чуть более стойкий.
if ($contr==md5($salt.$введенные циферки)) {bla bla bla...}
Кстати если вы обьясните принцып взлома, то впредь таких ащибок делать не стану... (Добавление)
Ыыы пишет:
А вы внедрите в проект, и месяца через три посмотрите, как много спама будет.
А вы думаете зачем я СЮДА об этом написал? Я абсолютно не уверен в стойкости этого ОООООчень простого скрипта, и в проект внедрять его не собираюсь.. Это игра такая.. Вроде бы не о чём, а внимание и сообразительность развивает.. А если честно то хотелось написать чтото на этом принцыпе нормально работающее (без GD и Header:"bla bla bla: image/jpg")..
Пришла мне тут в голову идея.. Без использования GD-библиотеки.. Хотелось бы узнать ваше мнение о том что я наваял.. Мне почему-то смешно.. Но вопрос такой: пройдет ли робот?
В папке лежат картинки цифр (0-9) каждая имеет имя отпечатка md5(цифра) соответственно например: 8f14e45fceea167a5a36dedd4bea2543 .jpg
Есть форма для добавления комментария.
Поля:
1) имя
2) мыло
3) хидден-поле
4) текст
А тем и не устраивает.Я имеел ввиду насчёт .tpl
Я хачу отделить шаблон от кода,и приэтом не делать Fopen fread replace.
А место этого всего хотелось бы иметь одну функцию.Которая хагрузить в переменую шаблон или что-то подобное.
Допустим есть цикл вывода сообщений гостевухи...
И что мешает создать отдельный файл окантовки ОДНОГО сообщения c html/php-тегами и абсолютно любым расширением *.tpl, *.dat, *.txt, *.php, *.abcderasshirenie, *.xxx..... и заинклюдить его в цикл? Я так и поступаю.. Кстати в папке с темплейтами таких файлов немало.. Так вот к чему файл принадлежит можно указать (для себя) не только в имени, но и в его расширении... Например "wievmsg.gbook" и "wievmsg.forum".....
Готовые шаблоны... Что-то дописываю...
А начинал: было пусто и в голове и в личной библиотечке.. Да и сейчас иногда приходится создавать что-то с нуля под конкретные нужды..
Слесарь сантехник (уже 3 года в частной фирме ООО "Сам На Себя") доход стабилен.
Люблю мыслить логически и испытываю неописуемую радость от создавания чего-либо корректно работающего.. Фактически образование у меня 9 кл. средней школы и все.. (эт я просто учится не хотел ) Сейчас глубоко об этом жалею...
Всё!!! Тему можно закрывать! Чтобы Lstat не падал на ф-циях работы с файлами, нужно указывать не имя файла, а "./путь/до/файла/filename.dat"!!!! т.к. ф-ции, если не указать где именно висит файл, будут искать его в корневом каталоге.. А я был невнимателен..