У меня есть несколько страниц на моем веб-сайте ASP.NET MVC 3 (не то, чтобы технология имела значение здесь), где я отображаю определенные URL-адреса в теге <script>
на странице, чтобы мой JavaScript (сохранялся ввнешний файл) может выполнять вызовы AJAX на сервер.
Примерно так:
<html>
...
<body>
...
<script type="text/javascript">
$(function() {
myapp.paths.someUrl = '/blah/foo'; // not hardcoded in reality, but N/A here
});
</script>
</body>
</html>
Теперь на стороне сервера большинство этих URL-адресов защищены атрибутами, утверждающими, что:
a) Доступ к ним возможен только через AJAX (например, XmlHttpRequest)
b) Доступ к ним возможен только через HTTP POST (так как он возвращает JSON - безопасность)
Проблема в том, что, по какой-то причине , боты сканируют эти URL и пытаются выполнить HTTP GET для них, что приводит к 404.
У меня сложилось впечатление, что боты не должны пытаться сканировать javascript,Так как же они получают эти URL-адреса?
Можно ли как-нибудь помешать им сделать это?
Я не могу переместить эти переменные URL-адреса во внешний файл, потому чтоКак видно из комментария в приведенном выше коде, я отображаю URL-адреса с помощью серверного кода (это необходимо сделать на фактической странице).
Я в основном добавил маршрутизацию на свой веб-сайт в HTTP 410 (Прошло)эти URL (когда это не AJAX POST).Что действительно раздражает, потому что он добавляет еще один маршрут в мою уже обреченную таблицу маршрутов.
Любые советы / предложения?