Скрипт для проверки, является ли URL сайтом WordPress. - PullRequest
0 голосов
/ 18 мая 2019

Я пытаюсь создать простой скрипт, который сообщит мне, если сайт основан на WordPress.Идея состоит в том, чтобы проверить, получаю ли я 404 из URL-адреса при попытке доступа к его wp-admin, вот так: "https://www.audi.co.il/wp-admin" (который возвращает" true ", потому что он существует). Когда я пытаюсь ввестиURL, который не существует, например, "https://www.audi.co.il/wp-blablabla", php" возвращает "true", даже если chrome, при вставке этой ссылки в ее адресную строку, возвращает 404 на вкладке сети.Почему это так и как это можно исправить?Спасибо!Это код (на основе ответа другого пользователя):

<?php 

$file = 'https://www.audi.co.il/wp-blabla';
$file_headers = @get_headers($file);
if(!$file_headers || strpos($file_headers[0], '404 Not Found')) {
    $exists = "false";
}
else {
    $exists = "true";
}
echo $exists;

1 Ответ

1 голос
/ 18 мая 2019

Вы можете попытаться найти страницу wp-admin, и если ее там нет, то есть хорошее изменение, это не WordPress.

function isWordpress($url)
{
    $ch = curl_init();

    // set URL and other appropriate options
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1 );
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);

    // grab URL and pass it to the browser
    curl_exec($ch);
    $httpStatus = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);

    // close cURL resource, and free up system resources
    curl_close($ch);
    if ( $httpStatus == 200 ) {
        return true;
    }
    return false;
}

if ( isWordpress("http://www.example.com/wp-admin") ) {
    // This is wordpress
} else {
    // Not wordpress
}

Это может быть не на сто процентов точно, так как некоторые установки Wordpress защищают URL-адрес wp-admin.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...