Перекрестная проводка это как сводная ссылка из бета-версии SO-документации, которая отключается.
Межсайтовый скриптинг является непреднамеренным выполнение удаленного кода веб-клиентом. Любое веб-приложение может оказаться в XSS, если оно принимает входные данные от пользователя и выводит его непосредственно на веб-страницу. Если вход включает HTML или JavaScript, удаленный код может быть выполнен, когда это содержимое отображается веб-клиентом.
Например, если сторонняя сторона содержит файл JavaScript:
// http://example.com/runme.js
document.write("I'm running");
И приложение PHP напрямую выводит строку, переданную в нее:
' . $_GET['input'] . '
Если параметр unchecked GET содержит , то вывод скрипта PHP будет:
Идет запуск стороннего JavaScript, и пользователь увидит «Я запущен» на веб-странице.
Как правило, никогда не доверяйте вводам, поступающим из клиент. Каждое значение GET, POST и cookie может быть вообще чем угодно и поэтому должно быть проверено. При выводе любого из этих значений удалите их, чтобы они не были оценены неожиданным способом.
Имейте в виду, что даже в простейших приложениях данные могут перемещаться, и будет сложно отслеживать все источники. Поэтому лучше всего использовать escape-выход always .
PHP предоставляет несколько способов избежать вывода в зависимости от контекста.
Функции фильтра PHPs позволяют входным данным для скрипта php быть дезинфицированным или проверенным в многими способами ]. Они полезны при сохранении или выводе на вход клиента.
htmlspecialchars
преобразует любые специальные символы HTML в их кодировки HTML, то есть они будут тогда не обрабатывается как стандартный HTML. Чтобы исправить наш предыдущий пример, используя этот метод:
' . htmlspecialchars($_GET['input']) . '
Вывод:
<script src="http://example.com/runme.js"></script>
Все, что находится внутри тега При выводе динамически сгенерированного URL PHP предоставляет функцию Любой вредоносный ввод будет преобразован в параметр кодированного URL. Иногда вам нужно отправить HTML или другие входы кода. Вам необходимо будет сохранить список авторизованных слов (белый список) и неавторизованный (черный список). Вы можете загружать стандартные списки, доступные на веб-сайте OWASP AntiSamy . Каждый список подходит для определенного вида взаимодействия (ebay api, tinyMCE и т. Д.). И это с открытым исходным кодом. Существуют библиотеки, которые могут фильтровать HTML и предотвращать атаки XSS для общего случая и выполнять как минимум, так и списки AntiSamy с очень простым использованием. Например, у вас есть HTML Purifier
Кодировка URL
urlencode
для безопасного вывода допустимых URL-адресов. Например, если пользователь может вводить данные, которые становятся частью другого параметра GET: Link';
Использование специализированных внешних библиотек или списков OWASP AntiSamy
Эта ошибка означает, что часть вашего приложения компилируется с использованием вашей собственной копии исходного кода в качестве ссылки, в то время как во время выполнения он находит эталонные сборки в GAC. Убедитесь, что вы удалили все ссылки на версию GACed сборок MVC 3. Это включает в себя ряд вещей в файлах web.config, которые используют этот токен открытого ключа: 31bf3856ad364e35.
Хотя вышеуказанная тема была полезна. Я не мог заставить все работать, пока я не создал «пустышку» «базовое» приложение MVC 4, а затем сравнил web.configs, чтобы найти какие-либо изменения.
Я исправил это, не удаляя все ссылки на сборки с открытым ключом 31bf3856ad364e35, так как это охватывает множество несущественных сборок.
Вместо этого это должно быть исправлено путем обновления всех ссылок конфигурации
Обязательно обновите все файлы web.configs, включая файлы в каталогах View.