Почему этот фрагмент в блоге приводит к сбою WordPress?
Хорошо, это действительно странно, и я понятия не имею, что здесь происходит. Я использую WordPress 3.0.1, я создаю новый пост в блоге, даю ему название, вставляю следующий код в сообщение в блоге и нажимаю Сохранить черновик.
<code lang="php">
// Init curl
$request = curl_init();
// Set request options
curl_setopt_array($request, array
(
CURLOPT_URL => 'https://www.sandbox.paypal.com/cgi-bin/webscr',
CURLOPT_POST => TRUE,
CURLOPT_POSTFIELDS => http_build_query(array
(
'cmd' => '_notify-synch',
'tx' => $_GET['tx'],
'at' => $your_pdt_identity_token,
)),
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HEADER => FALSE,
CURLOPT_SSL_VERIFYPEER => TRUE,
CURLOPT_CAINFO => 'cacert.pem',
));
// Execute and get the response and status code
$response = curl_exec($request);
$status = curl_getinfo($request, CURLINFO_HTTP_CODE);
// Close
curl_close($request);
</code>
Просто пример кода в моей голове, но, похоже, WordPress думает иначе, потому что, когда я нажимаю Сохранить черновик, просмотреть или опубликовать, все, что я получаю, - это пустая страница со следующим текстом:
Служба временно недоступна
Сервер находится временно не удается выполнить ваш запрос из-за простоя в обслуживании или проблем с пропускной способностью. Пожалуйста, повторите попытку позже.
Что, черт возьми, здесь происходит??
1 answers
И, конечно, после того, как я задам вопрос, я найду решение... По-видимому, это вызвано триггером happy Mod_Security.
Добавление этих строк в файл .htaccess делает его приятным:
<IfModule mod_security.c>
SetEnvIfNoCase Request_URI ^/wp-admin/(?:post|async-upload)\.php$ MODSEC_ENABLE=Off
SetEnvIfNoCase Request_URI ^/xmlrpc\.php$ MODSEC_ENABLE=Off
SecFilterDebugLevel 0
SecFilterDefaultAction "deny,nolog,noauditlog,status:503"
</IfModule>