Совсем недавно DimoninG опубликовал статью об одной из уязвимостей Sape.
Вкратце ситуация такая. Если скрипт на вашем сайте не сможет соединиться с Sape, то вместо ссылок он выведет стандартное сообщение об ошибке, которое начинается со слов SAPE ERROR
.
Если это увидит бот поисковика, то выводы будут однозначные.
Честно говоря, мне не совсем понятна логика разработчиков. Описание ошибок вещь, конечно, нужная. Но лучше бы они выводили эти ошибки в какой-нибудь файл, а не на страницы сайта.
Судите сами. При установке кода Sape в любом случае необходимо присвоить папке, в которой находится скрипт права на запись (777
). Иначе скрипт sape.php
не сможет создать файл links.db
. Можно было бы создать в этой же папке debug.log
и выводить ошибки в него.
Правда, не все так плохо.
Если посмотреть исходный код скрипта (файл sape.php
), то становится ясно, что все ошибки выводятся функцией raise_error
, которая имеет вид:
function raise_error($e) { $this->_error = '<p style="color: red; font-weight: bold;">SAPE ERROR: ' . $e . '</p>'; if ($this->_verbose == true) { print $this->_error; } return false; }
Думаю, тут все ясно. Ошибки будут выведены, только если переменная _verbose
равна true
. А по-умолчанию это не так $_verbose = false
.
И все-таки, на мой взгляд, вариант с debug.log лучше, да и анализировать его удобнее. Хотя может быть владельцы Sape не хотят, чтобы кто-то анализировал отказы их сервера 🙂 .
В общем, будьте внимательны!