Javascript серверные вызовы и MVC3? - PullRequest
0 голосов
/ 29 декабря 2011

Я разрабатываю приложение, использующее .Net MVC3, которое выполняет Javascript через ссылку js на странице.

Как только скрипт запущен, некоторый javascript возвращается и выполняется на стороне клиента. В конце этого процесса мне нужно перезвонить на mysite.com, чтобы отправить клиенту информацию, такую ​​как браузер, IP-адрес и т. Д.

Для этого я использую асинхронный обратный вызов на мой сервер для отправки данных:

    xmlhttp.open("GET", "http://mysite.com/record_values/" +
        navigator.appVersion + "/" +
        navigator.cookieEnabled + "/" +
        encodeURIComponent(document.URL), 
        true);

Существуют ли другие рекомендуемые способы вернуть эту информацию на мой сервер для записи?

Спасибо.

1 Ответ

0 голосов
/ 29 декабря 2011

Обратите внимание, что некоторая информация, которую вы будете искать (версия браузера), уже передана в строке агента пользователя. Поддержка куки не все же. Реферер уже должен быть там в заголовках (и, следовательно, URL не должен быть передан)

Как сказал Даниил, это должно быть POST. 100% абсолютно пост. ЛЮБАЯ операция с данными, которая делает что-то, кроме извлечения, всегда должна выполняться через сообщение (на самом деле это часть спецификации http)

Кроме того, я бы также передал MVC AntiForgeryToken (@ Html.AntiForgeryToken () и [ValidateAntiForgeryToken] в методе контроллера), чтобы гарантировать, что злоумышленник не сможет перегрузить ваш сервер / базу данных повторными вызовами для этого.

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