1Bot |
Отправлено: 26 сентября 2013 — 05:47
|
Super Member
Покинул форум
Сообщений всего: 773
Дата рег-ции: Апр. 2009
Откуда: Днепропетровск
Репутация: 69
|
CAB пишет:Покопался у себя на форуме... Очень много файлов начинаются с При этом попытка изменить эту часть кода на любые варианты CODE:<? die; ?>
<?phpdie;?>
<?php die; ?> и ещё некоторые, приводит к тому, что содержимое файлов не читается. Поэтому решил пока не вносить исправления. Непонятная мне ситуация...
Попробую немного прояснить ситуацию: если хотите изменить файлы данных форума (не код, а именно данные), то необходимо и поменять соответствующие функции считывания function _Read($filename) и записи _Write этих данных, которые описаны в классе fm.
Если этого не сделать, а поменять данные "вручную", т.е. <?die;?> (строка, которая занимает 8 символов) на <?php die; ?> (строка, которая занимает 13 символов), то данные не могут быть корректно прочитаны.
Смотрите пример, в коде примера нужно заменить строки:
$filesize = ($filesize === 0) ? 1:$filesize-8; на строку $filesize = ($filesize === 0) ? 1:$filesize-13;
и fseek($fp, 8); на строку fseek($fp, 13);(Отредактировано автором: 26 сентября 2013 — 05:51) |
|
|
1Bot |
Отправлено: 26 сентября 2013 — 09:44
|
Super Member
Покинул форум
Сообщений всего: 773
Дата рег-ции: Апр. 2009
Откуда: Днепропетровск
Репутация: 69
|
NordWest пишет:Не все хостинги разрешают напрямую что-либо менять в php.ini - у меня как раз такой случай.
А если в код вставить такой код, интересно он отработает?
CODE:ini_set('short_open_tag', 'on');
Это не имеет смысла, так как код с короткими тегами как раз используется для защиты данных форума от просмотра через браузер, но если они запрещены, то защиты то как раз и не происходит, а отображаются данные, хоть и в serialized виде, что косвенно можно использовать для взлома форума. |
|
|
1Bot |
Отправлено: 26 сентября 2013 — 13:17
|
Super Member
Покинул форум
Сообщений всего: 773
Дата рег-ции: Апр. 2009
Откуда: Днепропетровск
Репутация: 69
|
NordWest пишет:С другой стороны может сложиться такая ситуация, когда админины хоста запретили использование коротких тегов и никак это не поменять
Можно создать собственный файл php.ini и разместить его в папке вызываемого скрипта. Данная информация актуальна для серверов где PHP установлен как обработчик CGI (suPHP).
Если Вы решили положить php.ini где-то в public_html, то создайте файл .htaccess в корневой папке сайта ( например /home/user/public_html) или если файл существует, то только добавьте в любом месте (в начале или конце) в файл .htaccess директивы которые описаны ниже.
CODE:<Files php.ini>
order allow,deny
deny from all
</Files>
эти директивы запрещают просмотра файла php.ini посторонними.
Примечание
При такой установке PHP в виде обработчика CGI, SuPHP, Вы не можете использовать в файле .htaccess следующие директивы : php_flag, php_admin_flag, php_value и прочих, которые изменяют какие-либо параметры PHP окружения это вызовет ошибку с кодом 500, Internal Server Error.
Внимание: собственный файл php.ini действителен только в пределах директории, в которой размещён, если не указана специальная опция, см. ниже.
CODE:suPHP_ConfigPath /home/user/public_html
т.е. впишите эту строку в файл .htaccess перед кодом запрета просмотра файла php.ini.
P.S. Во всех папках с данными форума имеется файл .htaccess, который запрещает вызов любых скриптов из этих папок.(Отредактировано автором: 26 сентября 2013 — 13:21) |
|
|
|