Эта статья в основном изучает относительно распространенный вопрос в вопросах интервью Java и вопросах суждения и предотвращения инъекции SQL. Детали следующие.
Инъекция SQL является наиболее часто используемым методом атаки для хакеров в настоящее время. Его принцип состоит в том, чтобы использовать базу данных для анализа специальных идентификаторов для насильственного передачи их со страницы на фоновый фон. Измените структуру операторов SQL, достичь расширенных разрешений, создать пользователей высокого уровня, насильно изменять пользовательскую информацию и другие операции.
Благодаря принципу инъекции SQL, мы знаем, что судя по данным о том, что инъекция SQL может быть передана через страницу, фон не должен верить в какие -либо данные, передаваемые из фона, особенно специальные параметры целочисленного целого числа и специальные параметры символов!
1. Проверьте тип переменной данных и формат
Пока это является переменной в фиксированном формате, до того, как оператор SQL будет выполнен, его следует строго проверить в фиксированном формате, чтобы убедиться, что переменная является форматом, который мы ожидали!
2. Фильтруйте специальные символы
Для переменных, которые не могут быть определены в фиксированном формате, для их обработки или передачи их или передачи следует использовать специальные символы. В SQL есть двусмысленность.
Когда мы загружаем картинки
ectype =/”Multipart/Form-Data/” ectype = ”Multipart/Form-Data”
Без "/", ectype = "Multipart/Form-Data" в форме означает установить кодирование MIME формы. По умолчанию этот формат кодирования является Application/x-Www-Form-Urlencoded, который не может быть использован для загрузки файлов; Только при использовании Multipart/Form-Data могут быть полностью переданы данные файла, и выполняются следующие операции.
3. Привязывайте переменные и используйте предварительные операторы
Фактически, использование предварительных операторов по связыванию переменных является лучшим способом предотвращения инъекции SQL, и семантика использования предварительных операторов SQL не изменится. В операторах SQL используйте знак вопроса для переменных? Это означает, что независимо от того, насколько способен хакер, он не может изменить формат заявлений SQL и принципиально предотвращает возникновение атак инъекций SQL.
4. Безопасность информации о шифровании базы данных
Иногда, когда информация о базе данных протекает, мы должны зашифровать пароль базы данных и другую информацию (MD5 и т. Д.), Чтобы утечь информацию и потери можно контролировать в определенном диапазоне.
1. Не открывайте производственную среду, чтобы суммировать отображение ошибки WebServer.
2. Никогда не верите в ввод переменных со стороны пользователя. Переменные с фиксированными форматами должны быть строго проверены. Переменные без фиксированных форматов должны выполнять необходимую фильтрацию и избежать специальных символов, таких как цитаты.
3. Используйте предварительные операторы SQL, которые связывают переменные
4. Сделайте хорошую работу в управлении разрешениями с учетом базы данных
5. Строго зашифровать и обрабатывать конфиденциальную информацию пользователя
Хорошая программа должна обратить внимание на безопасность, в противном случае она подходит только для практики.
Выше приведено все содержание этой статьи об анализе вопросов интервью Java и предотвращении инъекции SQL. Я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на другие связанные темы на этом сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!