PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (686): В начало « ... 678 679 680 681 682 683 684 [685] 686 »

> Найдено сообщений: 10281
DeepVarvar Отправлено: 13 Января, 2009 - 12:59:52 • Тема: Расширения .inc и .tpl • Форум: Программирование на PHP

Ответов: 27
Просмотров: 4589
EuGen пишет:
При этом, правда, не стоит забывать о безопасности. В частности, о типах файлов, обрабатываемых веб-сервером.

Если файлы именно инклюдить\рекурить то тип файла не имеет значения, его содержимое вставляется как текст в тело скрипта с инклюдой.. А потом в .htaccess пишем запреты и все путем.. Самое приятное что если в главном файле идет чистый код, а во вставляемом хтмл/php-теги (пример: <tr><td><? print $peremennaya; ?></td></tr>), или просто хтмл,
никакой ошибки не возникает..

Представляете:

index.рнр
PHP:
скопировать код в буфер обмена
  1. <? $a='всякая белиберда'; require ('including.wassup'); ?>

including.wassup
PHP:
скопировать код в буфер обмена
  1. <table><tr><td><? print $a; ?></td></tr></table>

..совершенно спокойно выведут:
CODE (text):
скопировать код в буфер обмена
  1. <table><tr><td>всякая белиберда<td></tr></table>
DeepVarvar Отправлено: 13 Января, 2009 - 12:13:27 • Тема: Пройдёт ли робот? • Форум: Программирование на PHP

Ответов: 22
Просмотров: 1037
В любом случае защиты на 100% не бывает..
EuGen пишет:
Вы, вероятно, прочли русскоязычный вариант статьи, он несколько неточен. Затравка лишь позволяет увеличить длину исходного набора символов, и, следовательно, увеличивает сложность, а так же может исключить возможность взлома в связи с тем, что таблица расчитана на определенную длину.
Ведь, по сути, если злоумышленник может восстановить из md5 исходные данные, то, восстановив
CODE (text):
скопировать код в буфер обмена
  1.  
  2. строка+соль
  3.  

он может просто перебрать все строки, отрезая по 1 символу с конца, к примеру.


отпечаток имеет конечную длину символов...
включаем вторую соль которая будет заменять символы "a" на "f" например или работать по иному алгоритму... И 3 года 3 дня и 3 ночи бот будет заниматься подбором находясь на той странице.. А как же время жизни сессии?
DeepVarvar Отправлено: 13 Января, 2009 - 12:07:56 • Тема: Пройдёт ли робот? • Форум: Программирование на PHP

Ответов: 22
Просмотров: 1037
Цитата:
Защита от радужных таблиц
Данные таблицы невозможно использовать против необратимых хеш-функций, которые включают salt (соль). Например, рассмотрим следующую функцию для создания хеша от пароля:

хеш = MD5( пароль + соль ),
где + обозначает конкатенацию.


Это оттуда.. Я не думаю что кто-то или чт-то будет так рьяно ломать малоизвестный сайтик с никому ненужным содержанием.. Я ведь эту приблуду не собираюсь вешать на серьезный проект.. Улыбка
DeepVarvar Отправлено: 13 Января, 2009 - 11:48:42 • Тема: Пройдёт ли робот? • Форум: Программирование на PHP

Ответов: 22
Просмотров: 1037
Stierus пишет:
этот код ни от чего не защитит, т.к. есть прямая зависимость между названиями файлов картинок и строкой, анализатор пишется на коленке за 2 минуты, ещё пара минут на заполнение массива соответствия названия файла с буквой. если уж хочется обойтись без gd-библиотеки, используйте логические вопросы (например, "что светлее, черное или белое", "на какой планете мы живем", "сложите 10 и 15, полученное умножьте на два" ну и в таком духе), только база вопросов должна быть огромной(ну а куда без этого :)), часть из них самогенерирующиеся (арифметические, как минимум) .


Базу вопросов я как-то делал из детских загадок, смотрелось очень даже симпатично..

С "солью" зависимость уже не прямая, в ней ведь может быть все что угодно...
md5() необратим... Брутить? И сколько времени вы будете это делать?
DeepVarvar Отправлено: 13 Января, 2009 - 08:42:09 • Тема: Пройдёт ли робот? • Форум: Программирование на PHP

Ответов: 22
Просмотров: 1037
Джур пишет:
нет, данный метод очень плох... В том смысле, что данное поле взламывается вполне быстро. Если даже у робота нет подходящего шаблона, кодер напипшет его в приделах 15 минут.

если надо могу описать принцип взлома вашей капатчи либо предложить вариант чуть более стойкий.


Стойкости добавит:

$salt='какая-то секретная строка';
$contr=md5($salt.$contr);

А сравнивать будем:

if ($contr==md5($salt.$введенные циферки)) {bla bla bla...}

Кстати если вы обьясните принцып взлома, то впредь таких ащибок делать не стану...
(Добавление)
Ыыы пишет:
А вы внедрите в проект, и месяца через три посмотрите, как много спама будет.

А вы думаете зачем я СЮДА об этом написал? Я абсолютно не уверен в стойкости этого ОООООчень простого скрипта, и в проект внедрять его не собираюсь.. Это игра такая.. Вроде бы не о чём, а внимание и сообразительность развивает.. А если честно то хотелось написать чтото на этом принцыпе нормально работающее (без GD и Header:"bla bla bla: image/jpg")..
DeepVarvar Отправлено: 13 Января, 2009 - 04:20:47 • Тема: Пройдёт ли робот? • Форум: Программирование на PHP

Ответов: 22
Просмотров: 1037
Пришла мне тут в голову идея.. Без использования GD-библиотеки.. Хотелось бы узнать ваше мнение о том что я наваял.. Мне почему-то смешно.. Но вопрос такой: пройдет ли робот?

В папке лежат картинки цифр (0-9) каждая имеет имя отпечатка md5(цифра) соответственно например: 8f14e45fceea167a5a36dedd4bea2543 .jpg


Есть форма для добавления комментария.
Поля:
1) имя
2) мыло
3) хидден-поле
4) текст

Файл antispam.php:
PHP:
скопировать код в буфер обмена
  1. <?
  2. $contr='';//контрольная строка сначало пуста
  3. $sym=4;//кол-во контрольных цыфирок
  4. for ($sym;$sym>0;$sym--) {
  5.   $rnd=rand(0,9);
  6.   $img=md5($rnd);//получили отпечаток хэша и присвоили
  7.   $contr=$contr.$rnd;//дописали в цикле строку
  8.   print '<img width="18" height="30" border="0" src="images/'.$img.'.jpg">';//вывод рисунка
  9.   }
  10. $contr=md5($contr);//по окончании цикла получили отпечаток от полной строки,
  11.                               //это значение и будет в хидден-поле
  12. ?>


Файл инклюдим туда где надо показывать картинки.. ГЛАВНОЕ ДО ФОРМЫ!!!
При обработке сравниваем значения хидден-поля и md5(введенных цифр)..

Вот собссно и всё... Работает..
DeepVarvar Отправлено: 13 Января, 2009 - 03:40:55 • Тема: Расширения .inc и .tpl • Форум: Программирование на PHP

Ответов: 27
Просмотров: 4589
Agassi пишет:
JustUserR пишет:
А чем вас не устраивают include/raquire ?

А тем и не устраивает.Я имеел ввиду насчёт .tpl
Я хачу отделить шаблон от кода,и приэтом не делать Fopen fread replace.
А место этого всего хотелось бы иметь одну функцию.Которая хагрузить в переменую шаблон или что-то подобное.


Допустим есть цикл вывода сообщений гостевухи...
И что мешает создать отдельный файл окантовки ОДНОГО сообщения c html/php-тегами и абсолютно любым расширением *.tpl, *.dat, *.txt, *.php, *.abcderasshirenie, *.xxx..... и заинклюдить его в цикл? Я так и поступаю.. Кстати в папке с темплейтами таких файлов немало.. Так вот к чему файл принадлежит можно указать (для себя) не только в имени, но и в его расширении... Например "wievmsg.gbook" и "wievmsg.forum".....
DeepVarvar Отправлено: 13 Января, 2009 - 02:32:01 • Тема: Чтение Excel • Форум: Программирование на PHP

Ответов: 8
Просмотров: 460
SergeantPEPPER пишет:
Champion, можно Улыбка Только там ОЧЕНЬ много этого лишнего... (Выделки не стоит)

Нашел класс реализованный на Perl, который один добрый человек переписал под php
называется xlsparser

Если кому то интересно - могу скинуть адрес


Да, если можно.. скинь пожалуйста..
DeepVarvar Отправлено: 13 Января, 2009 - 02:10:28 • Тема: Разработка собственного скрипта • Форум: Программирование на PHP

Ответов: 13
Просмотров: 551
Готовые шаблоны... Что-то дописываю...
А начинал: было пусто и в голове и в личной библиотечке.. Да и сейчас иногда приходится создавать что-то с нуля под конкретные нужды..
DeepVarvar Отправлено: 12 Января, 2009 - 23:40:19 • Тема: htmlentities() & htmlspecialchars() • Форум: Программирование на PHP

Ответов: 7
Просмотров: 800
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $a="Preved";
  4. $b="Превед";
  5. $a= htmlentities($a);
  6. ?>
  7.  
  8. <br>
  9. $a
  10. <br>
  11. $b


...понимает только латиницу...

А зачем вам именно htmlentities?
DeepVarvar Отправлено: 12 Января, 2009 - 19:10:42 • Тема: Кто кем работает? • Форум: Прочее

Ответов: 9
Просмотров: 141
Слесарь сантехник (уже 3 года в частной фирме ООО "Сам На Себя") доход стабилен.
Люблю мыслить логически и испытываю неописуемую радость от создавания чего-либо корректно работающего.. Фактически образование у меня 9 кл. средней школы и все.. (эт я просто учится не хотел Язычок ) Сейчас глубоко об этом жалею...
DeepVarvar Отправлено: 27 Декабря, 2008 - 21:55:53 • Тема: В чем проблема? • Форум: Прочее

Ответов: 19
Просмотров: 209
Champion пишет:
Это вышесказанным вы не объяснили)

Без ф-ции очистки кэша такое могло иметь место..
DeepVarvar Отправлено: 27 Декабря, 2008 - 19:00:05 • Тема: В чем проблема? • Форум: Прочее

Ответов: 19
Просмотров: 209
Всё!!! Тему можно закрывать! Чтобы Lstat не падал на ф-циях работы с файлами, нужно указывать не имя файла, а "./путь/до/файла/filename.dat"!!!! т.к. ф-ции, если не указать где именно висит файл, будут искать его в корневом каталоге.. А я был невнимателен..
DeepVarvar Отправлено: 27 Декабря, 2008 - 10:09:36 • Тема: В чем проблема? • Форум: Прочее

Ответов: 19
Просмотров: 209
valenok пишет:
не верю

Сам не верю.. Но факт остается фактом.. Как разберусь в чем проблема, отпишусь..
DeepVarvar Отправлено: 26 Декабря, 2008 - 22:32:29 • Тема: В чем проблема? • Форум: Прочее

Ответов: 19
Просмотров: 209
А с этим:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $dir = "/tmp/";
  4.  
  5. // Открыть заведомо существующий каталог и начать считывать его содержимое
  6. if (is_dir($dir)) {
  7.     if ($dh = opendir($dir)) {
  8.         while (($file = readdir($dh)) !== false) {
  9.             print "Файл: $file : тип: " . filetype($dir . $file) . "\n";
  10.         }
  11.         closedir($dh);
  12.     }
  13. }
  14. ?>
  15.  
  16.  

...кодом в корневом ошибки, а из папки вообще ничего не выводит...

Посему намерен снести денвер и поставить нормальную связку apache + php... Чем собсно и занимаюсь.. Ведь сам вижу фигня какая то...

Страниц (686): В начало « ... 678 679 680 681 682 683 684 [685] 686 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB