Черные списки - нарушение JWT без гражданства. Существует много схем аутентификации, которые вы можете использовать. JWT основан на апатриде, поэтому его следует использовать таким образом. С другой стороны, это очень распространенная схема аутентификации, и если вам нужно ее реализовать, и если вы хотите, чтобы ваше приложение (API) было действительно безопасным, необходимо настроить некоторые настройки.
Я лично использую эти два метода в своих проектах (отдельные или комбинированные, в зависимости от потребностей в производительности):
Подключение к порту 80 на хосте и отправляет его
HEAD / HTTP/1.0
, Это должно сопровождаться возвратом каретки + перевод строки дважды
, Вы возвратите что-то вроде этого
HTTP/1.1 200 OK
Date: Fri, 03 Oct 2008 12:39:43 GMT
Server: Apache/2.2.9 (Ubuntu) DAV/2 SVN/1.5.0 PHP/5.2.6-1ubuntu4 with Suhosin-Patch mod_perl/2.0.4 Perl/v5.10.0
Last-Modified: Thu, 02 Aug 2007 20:50:09 GMT
ETag: "438118-197-436bd96872240"
Accept-Ranges: bytes
Content-Length: 407
Connection: close
Content-Type: text/html; charset=UTF-8
, можно тогда извлечь апачскую версию из Сервера: заголовок
, Вы могли использовать утилиту HEAD, которая идет с полной установкой Perl , библиотека LWP, например,
HEAD http://your.webserver.com/
Или, использует завихрение утилита, например,
curl --head http://your.webserver.com/
Вы могли также использовать расширение браузера, которое позволяет Вам просмотреть заголовки сервера, такой как [1 110] Живые HTTP-заголовки или Firebug для Firefox, или Скрипач для IE
Наконец. если Вы будете в Windows, и не будете иметь ничего иного в Вашем распоряжении, откроете командную строку (Меню "Пуск"-> Выполнение, введите "cmd" и возврат нажатия), и затем введите это
telnet your.webserver.com 80
Тогда тип (тщательно, на Ваши символы не отреагируют)
HEAD / HTTP/1.0
возврат Нажатия дважды, и Вы будете видеть заголовки сервера.
, Как упомянуто cfeduke и Veynom, сервер может быть установлен возвратить ограниченную информацию в Сервере: заголовок. Попытайтесь загрузить Сценарий PHP на свой хост с этим в нем
<?php phpinfo() ?>
Запрос страница с веб-браузером, и необходимо видеть версию Apache, о которой сообщают там.
Вы могли также попытаться использовать PHPShell, чтобы иметь введение по абсолютному адресу вокруг, попробовать команду как [1 130]
/usr/sbin/apache2 -V
Редко, укрепленный сервер HTTP настроен для предоставления информации о сервере или вводящей в заблуждение информации о сервере. В тех сценариях, если сервер имеет PHP, включил Вам, может добавить:
<?php phpinfo(); ?>
в файле и обзоре к нему и ищут
_SERVER["SERVER_SOFTWARE"]
запись. Это является восприимчивым к тому же стабилизирующему отсутствию информации / вводящим в заблуждение, хотя я предположил бы, что это часто не изменяется, потому что этот метод сначала требует, чтобы доступ к машине создал файл PHP.
Предупреждение, некоторые серверы Apache не всегда отправляют свой номер версии при использовании ГОЛОВЫ, как в этом случае:
HTTP/1.1 200 OK
Date: Fri, 03 Oct 2008 13:09:45 GMT
Server: Apache
X-Powered-By: PHP/5.2.6RC4-pl0-gentoo
Set-Cookie: PHPSESSID=a97a60f86539b5502ad1109f6759585c; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Connection: close
Content-Type: text/html
Connection to host lost.
, Если PHP установлен тогда действительно, просто используйте php информационную команду:
<?php phpinfo(); ?>
Уровень информации о версии, выделенной сервером Apache, может быть настроен установкой ServerTokens в ее конфигурации.
я полагаю, что существует также установка, которая управляет, появляется ли версия на ошибочных страницах сервера, хотя я не могу помнить то, что это первое, что пришло на ум. Если у Вас нет прямого доступа к серверу, и администратор сервера компетентен и не хочет, чтобы Вы знали версию, которую они выполняют... Я думаю, что можно быть СОЛЬ .
Telnet к хосту в порте 80.
Тип:
get / http1.1
::enter::
::enter::
Это - вид Запроса HTTP, но это не допустимо так 500 ошибок, которые это дает Вам, вероятно, даст Вам информацию, которую Вы хотите. Пустые строки в конце важны иначе, это, будет просто казаться, зависнет.
Если им включили ошибочные страницы, можно перейти к несуществующей странице и взгляду у основания 404 страниц.
Ваш наилучший вариант через PHP: Всем запросам версии от стороны клиента нельзя доверять, так как Ваш Apache мог быть настроен с Напоминанием ServerTokens и ServerSignature Прочь. См.: http://www.petefreitag.com/item/419.cfm
В стандартной установке назовите страницу, которая не существует, и Вы получаете ошибку с версией в конце:
Объект, не найденный!
требуемый URL не был найден на этом сервере. Если Вы ввели URL вручную, проверьте свое написание и попробуйте еще раз.
, Если Вы думаете, что это - ошибка сервера, свяжитесь с веб-мастером.
Ошибка 404
14:41:45 localhost
10/03/08
Apache/2.2.8 (Win32) DAV/2 mod_ssl/2.2.8 OpenSSL/0.9.8g mod_autoindex_color PHP/5.2.5