RedOK

Рейтинг
88
Регистрация
13.07.2009
Ваано:
Особенно такой замене порадуются на украинских сайтах, использующих апостров)

как раз это хотел написать. с автора поржал 😂

$aFilterComments = array(' нецензурное выражение ',' жесткий мат ');

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

webrock:
может, как вариант, запретить исполняться файлам в директории, типа:

<FilesMatch ".(js|png)$
Order Allow,Deny
Deny from all
</FilesMatch>

это не запрет «выполнятся» файлам. это банальное закрытие доступа к файлам которые совпадают по расширению.

у автора проблема не с локальными фалами, ему нужно

запретить серверу подключаться к внешнему сайту site1.ru/grad.png

для «методом тыка» исправлять синтаксические ошибки очень помогают php редакторы, вроде zend studio (платная), komodo edit (бесплатная) и тому подобные. а помочь вам практически не возможно, так как не понятно откуда вы этот код взяли и какое он имеет отношение к ошибкам из первого поста.

ссылка в первом посте не активная, не могу сайт с примером посмотреть

а это код из какого файла?

board_install.php on line 14
или
board/install/install.php on line 13
?

---------- Добавлено 31.03.2013 в 01:11 ----------

и вообще, кто вам подсказал такое решение проблем как удаление строк, которые вызывают ошибки? :D

чтобы запретить, нужно как минимум знать как он обращается к другому серверу, из вашего описания это совсем не понятно.

ivan-lev:
:) катят.. они в базу попадают..
А потом, при авторизации $_POST['login'] (экранированный, как положено) берётся для поиска юзера (в базе, с кавычкой.. юзер, естественно находится, если он там есть...), после чего этот $_POST['login'] проходит валидацию в Auth::test_token и уже дальше в "чистом виде" (т.е. без экранирования) попадает в функции..
А дальше.. дальше - хз.. может там ничего и нет..

хотя да. кавычка то записывается в базу, хоть и экранируется вначале.. хэх, нужно дальше смотреть 🍿

---------- Добавлено 31.03.2013 в 00:47 ----------

хех, а с кавычкой тоже проблемы начались, например для активации пользователя админом он его должен «активировать» а он это не может сделать, так как js падает с ошибкой на функции users_approve которая в качетсве парметра принимает логин с кавычкой :D в общем, это конечно баги, если смотреть с одной стороны даже критичные, но я сомневаюсь что именно это способствовало появлению вредоносных файлов на сервере.

хотя, судя по базе данных я вообще не вижу где тут активация отмечается..

ivan-lev:
Ждём главного телепата.. :) Ну или можете у самого исполнителя спросить.. Я больше к "не специально" склоняюсь..

Доработка, кстати, может и не пригодиться.. (как с Неуловимым Джо)
А так - формально, прокатывает регистрация с логином вроде
' OR 1 = 1 OR 1 = '1

А он чуть позже передаётся без экранирования.. (как уже отметил выше RedOK)
Возможно, там дальше и "нет ничего"..

нет, нифига or 1 не прокатывает :( , мой магический шар подсказывает что в Auth::new_user фильтруется и логин и мыло, а пароль вообще в md5 с солью шифруется

$db->query('INSERT INTO {admins} (`login`, `password`, `email`) VALUES ("'.mysql_escape_string($login).'", "'.$hash_password.'", "'.mysql_escape_string($email).'")')

, так что кавычки не катят.

---------- Добавлено 31.03.2013 в 00:10 ----------

в общем, автор, мой не совсем адекватный мозг на данный момент, говорит что дырку вам стоит искать в другом месте, ибо тут ничего серьёзного не нашел.

при следующей встрече с этим программистом, если она состоится (да хоть и виртуально) посоветуйте не использовать mysql_escape_string ибо это уже даже не смешно, и вообще пусть переходит на PDO или что-то в этом роде. так как «mysql_query» через пару лет накроется медным тазом на большинстве хостингов. хотя если он пишет залипухи, которые рассчитаны на пару месяцев работы, то нечего беспокоится 🍿

Всего: 786