Веб-сервер: как выглядит этот запрос
Я строю веб-сервер с Python-торнадо. Сервер должен обеспечить своего рода поисковую службу по всем ресторанам в какой-либо стране. Таким образом, логика довольно проста: пользователь вводит ключевое слово и отправляет на веб-страницу, сервер отвечает на некоторые сообщения. Одним словом, это как мини-гугл.
Я также делаю простой журнал.
В журнале я вижу, что большинство запросов выглядит так:
[I 170625 19:23:12 web:2063] 200 GET /images/icon-language.png (116.31.83.132) 0.88ms
[I 170625 19:23:12 web:2063] 200 GET /index?type=Sight&key=Bol%20content (116.31.83.132) 10.05ms
[I 170625 19:30:30 web:2063] 304 GET / (116.31.83.132) 0.87ms
[I 170625 19:30:44 web:2063] 200 GET / (116.31.83.132) 0.78ms
[W 170625 19:30:51 web:2063] 405 POST / (116.31.83.132) 1.20ms
[W 170625 19:31:00 web:2063] 405 POST / (116.31.83.132) 0.63ms
[I 170625 19:31:22 web:2063] 200 POST /index (116.31.83.132) 0.89ms
[I 170625 19:31:42 web:2063] 200 GET /index (116.31.83.132) 0.62ms
[I 170625 19:31:49 web:2063] 200 GET / (116.31.83.132) 0.78ms
[W 170625 19:31:57 web:2063] 404 GET /abce (116.31.83.132) 0.65ms
Но, к моему удивлению, есть несколько запросов, как показано ниже:
[W 170625 18:43:41 web:2063] 404 GET http://baidu.com/ (106.2.125.215) 0.60ms
Я не могу понять, как генерируется такой запрос. Например, если адрес моего веб-сервера www.example.com
и я посылаю ему запрос get, он должен быть таким: www.example.com/abcd
, Но этот запрос не начинается с /
, как идет?
Это что-то вроде XSS(межсайтовый скриптинг)? Похоже, кто-то пытался сделать какой-то запрос Cross-Origin через мой веб-сервер. Если я прав, я отфильтрую все ключевые слова пользователя, содержащие <script>
, Я прав?
2 ответа
Мне кажется, что кто-то перепутал ваш сервер с baidu.com. Или ваш сервер имеет некоторые соединения с ними и запрос отскочил к вам из-за плохо настроенного DNS или такого материала. Вполне возможно, что кто-то запрограммировал неверный IP-адрес для baidu.com и вместо этого получил ваш сервер.
Надеюсь, вы знаете, как выглядят HTTP-запросы и что для профессионального веб-сервера недостаточно просто позвонить по IP. Вы также должны посмотреть HTTP-заголовок "Host". Я не знаю, делает ли торнадо это по умолчанию. Но когда заголовок Host не является URL-адресом вашего веб-сайта, вы теряете соединение, и миксы не возникают.
И ты не прав.