Это произошло со мной после того, как я импортировал дамп в Windows 10 с MYSQL Workbench 6.3 Community, при этом «root @% не существует». Хотя пользователь существовал. Сначала я попытался прокомментировать DEFINER, но это не сработало. Затем я заменил строку «root @%» на «root @ localhost» и повторно импортировал дамп. Это сделал трюк для меня.
Если Вы думаете, что URL не могут содержать код, думайте снова!
https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
Read, что, и плачут.
Вот то, как мы делаем это на Переполнении стека:
/// <summary>
/// returns "safe" URL, stripping anything outside normal charsets for URL
/// </summary>
public static string SanitizeUrl(string url)
{
return Regex.Replace(url, @"[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]", "");
}
Просто HTMLEncode ссылки, когда Вы производите их. Удостоверьтесь, что Вы не позволяете javascript:
ссылки. (Лучше иметь белый список протоколов, которые приняты, например, http, https, и mailto.)
Процесс рендеринга ссылки "безопасный" должен пройти три или четыре шага:
, Если бы безопасность является приоритетом, я надеялся бы, что пользователи простили бы немного паранойи в этом процессе, даже если это действительно заканчивает тем, что выбросило некоторые безопасные ссылки.
Разрешение URL и разрешение JavaScript являются 2 разными вещами.
Как насчет того, чтобы не отобразить их как ссылку? Просто используйте текст.
Объединенный с предупреждением продолжиться на Ваш собственный риск может быть достаточно.
дополнение - видит также , я должен санировать разметку HTML для размещенного CMS? для обсуждения очистки ввода данных пользователем
Вы не определяете язык своего приложения, я тогда предположу ASP.NET, и для этого можно использовать Microsoft Anti-Cross Site Scripting Library
, Это очень просто в использовании, все, в чем Вы нуждаетесь, включать, и это - он:)
, В то время как Вы находитесь по теме, почему не, учитывая чтение на Руководство по проектированию для Безопасных веб-приложений
, Если какой-либо другой язык...., если существует библиотека для ASP.NET, должен быть доступен также для другого вида языка (PHP, Python, ROR, и т.д.)