Чтобы решить проблему XSS, взгляните на Очиститель HTML . Он достаточно настраиваемый и имеет неплохой послужной список.
Что касается атак с использованием SQL-инъекций, убедитесь, что вы проверили ввод данных пользователем, а затем запустили его, хотя mysql_real_escape_string (). Однако эта функция не победит все атаки с использованием инъекций, поэтому важно проверить данные перед тем, как вывести их в строку запроса.
Лучшее решение - использовать подготовленные заявления. Библиотека PDO и расширение mysqli поддерживают их.
Поскольку в display: none
элемент для всех целей перестает существовать - он не занимает места.
Однако в visibility: hidden
это как если бы вы только что добавили к элементу opacity: 0
- он занимает такое же количество места, но просто действует невидимым.
Создатели jQuery, вероятно, думали, что первый лучше подходит для .hide ()
.
visibility: hidden
делает элемент невидимым, но не удаляет его из макета страницы. На месте элемента остается пустое поле. display: none
удаляет его из макета, чтобы он не занимал места на странице, чего обычно хотят люди, когда что-то скрывают.
Видимость: скрытый делает элемент невидимым таким образом, что он по-прежнему использует пространство на странице. Display: none заставляет элемент не иметь места и полностью исчезать, пока он все еще существует в DOM.
Видимость просто делает элемент невидимым, но он все равно будет занимать место на экране.