Heim Betrieb und Instandhaltung Sicherheit Welche Methoden gibt es zur SQL-Injection-Abwehr?

Welche Methoden gibt es zur SQL-Injection-Abwehr?

Jun 29, 2020 am 09:34 AM
sql注入 防御

SQL注入防御的方法有:1、PreparedStatement;2、使用正则表达式过滤传入的参数;3、字符串过滤。其中,采用预编译语句集是简单又有效的方法,因为它内置了处理SQL注入的能力。

Welche Methoden gibt es zur SQL-Injection-Abwehr?

SQL注入防御的方法

下面针对JSP,说一下应对方法:

(推荐学习:mysql教程

1、(简单又有效的方法)PreparedStatement

采用预编译语句集,它内置了处理SQL注入的能力,只要使用它的setXXX方法传值即可。

使用好处:

(1)代码的可读性和可维护性;

(2)PreparedStatement尽最大可能提高性能;

(3)最重要的一点是极大地提高了安全性。

原理:

sql注入只对sql语句的准备(编译)过程有破坏作用,而PreparedStatement已经准备好了,执行阶段只是把输入串作为数据处理,而不再对sql语句进行解析、准备,因此也就避免了sql注入问题。

2、使用正则表达式过滤传入的参数

要引入的包:

import java.util.regex.*;
Nach dem Login kopieren

正则表达式:

private String CHECKSQL = “^(.+)\\sand\\s(.+)|(.+)\\sor(.+)\\s$”;
Nach dem Login kopieren

判断是否匹配:

Pattern.matches(CHECKSQL,targerStr);
Nach dem Login kopieren

下面是具体的正则表达式:

检测SQL meta-characters的正则表达式 :

/(\%27)|(\’)|(\-\-)|(\%23)|(#)/ix
Nach dem Login kopieren

修正检测SQL meta-characters的正则表达式 :

/((\%3D)|(=))[^\n]*((\%27)|(\’)|(\-\-)|(\%3B)|(:))/i
Nach dem Login kopieren

典型的SQL 注入攻击的正则表达式 :

/\w*((\%27)|(\’))((\%6F)|o|(\%4F))((\%72)|r|(\%52))/ix
Nach dem Login kopieren

检测SQL注入,UNION查询关键字的正则表达式 :

/((\%27)|(\’))union/ix(\%27)|(\’)
Nach dem Login kopieren

检测MS SQL Server SQL注入攻击的正则表达式:

/exec(\s|\+)+(s|x)p\w+/ix
Nach dem Login kopieren

等等…..

3、字符串过滤

比较通用的一个方法:(||之间的参数可以根据自己程序的需要添加)

public static boolean sql_inj(String str){
String inj_str = "'|and|exec|insert|select|delete|update|
count|*|%|chr|mid|master|truncate|char|declare|;|or|-|+|,";
String inj_stra[] = split(inj_str,"|");
for (int i=0 ; i < inj_stra.length ; i++ ){
if (str.indexOf(inj_stra[i])>=0){
return true;
}
}
return false;
}
Nach dem Login kopieren

凡涉及到执行的SQL中有变量时,用JDBC(或者其他数据持久层)提供的如:PreparedStatement就可以 ,切记不要用拼接字符串的方法就可以了。

Das obige ist der detaillierte Inhalt vonWelche Methoden gibt es zur SQL-Injection-Abwehr?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Nginx-Grundkenntnisse zur Sicherheit: Verhindern von SQL-Injection-Angriffen Nginx-Grundkenntnisse zur Sicherheit: Verhindern von SQL-Injection-Angriffen Jun 10, 2023 pm 12:31 PM

Nginx ist ein schneller, leistungsstarker und skalierbarer Webserver, und seine Sicherheit ist ein Problem, das bei der Entwicklung von Webanwendungen nicht ignoriert werden darf. Insbesondere SQL-Injection-Angriffe, die Webanwendungen großen Schaden zufügen können. In diesem Artikel besprechen wir, wie man mit Nginx SQL-Injection-Angriffe verhindert und so die Sicherheit von Webanwendungen schützt. Was ist ein SQL-Injection-Angriff? Der SQL-Injection-Angriff ist eine Angriffsmethode, die Schwachstellen in Webanwendungen ausnutzt. Angreifer können Schadcode in Webanwendungen einschleusen

So verwenden Sie exp für die SQL-Fehlerinjektion So verwenden Sie exp für die SQL-Fehlerinjektion May 12, 2023 am 10:16 AM

0x01 Vorwort Übersicht Der Herausgeber hat einen weiteren doppelten Datenüberlauf in MySQL entdeckt. Wenn wir die Funktionen in MySQL erhalten, interessiert sich der Editor mehr für die mathematischen Funktionen. Sie sollten auch einige Datentypen zum Speichern von Werten enthalten. Daher führte der Editor einen Test durch, um festzustellen, welche Funktionen Überlauffehler verursachen würden. Dann stellte der Editor fest, dass die Funktion exp() einen Überlauffehler verursacht, wenn ein Wert größer als 709 übergeben wird. mysql>selectexp(709);+---------+|exp(709)|+---------- - -----------+|8.218407461554972

Wie verhindert PHP SSTI-Angriffe? Wie verhindert PHP SSTI-Angriffe? Jun 30, 2023 am 09:36 AM

So verwenden Sie PHP zur Abwehr von Server-SideTemplateInjection (SSTI)-Angriffen Einführung: Server-SideTemplateInjection (SSTI) ist eine häufige Sicherheitslücke bei Webanwendungen. Ein Angreifer kann den Server dazu veranlassen, beliebigen Code auszuführen, indem er bösartigen Code in die Template-Engine einschleust Dies stellt ein ernstes Sicherheitsrisiko dar. In PHP-Anwendungen kann SST offengelegt werden, wenn Benutzereingaben nicht korrekt verarbeitet werden

PHP-Programmiertipps: So verhindern Sie SQL-Injection-Angriffe PHP-Programmiertipps: So verhindern Sie SQL-Injection-Angriffe Aug 17, 2023 pm 01:49 PM

PHP-Programmiertipps: So verhindern Sie SQL-Injection-Angriffe Sicherheit ist bei der Durchführung von Datenbankoperationen von entscheidender Bedeutung. SQL-Injection-Angriffe sind ein häufiger Netzwerkangriff, der die unsachgemäße Verarbeitung von Benutzereingaben durch eine Anwendung ausnutzt, was dazu führt, dass bösartiger SQL-Code eingefügt und ausgeführt wird. Um unsere Anwendung vor SQL-Injection-Angriffen zu schützen, müssen wir einige Vorsichtsmaßnahmen treffen. Verwenden Sie parametrisierte Abfragen. Parametrisierte Abfragen sind die einfachste und effektivste Möglichkeit, SQL-Injection-Angriffe zu verhindern. Es funktioniert durch den Vergleich vom Benutzer eingegebener Werte mit einer SQL-Abfrage

So schützen Sie sich mit PHP vor Cross-Site-Scripting-Angriffen (XSS). So schützen Sie sich mit PHP vor Cross-Site-Scripting-Angriffen (XSS). Jun 29, 2023 am 10:46 AM

So nutzen Sie PHP zur Abwehr von Cross-Site-Scripting-Angriffen (XSS) Angesichts der rasanten Entwicklung des Internets sind Cross-SiteScripting-Angriffe (XSS) eine der häufigsten Bedrohungen für die Netzwerksicherheit. XSS-Angriffe dienen hauptsächlich dem Zweck, an vertrauliche Benutzerinformationen zu gelangen und Benutzerkonten zu stehlen, indem sie bösartige Skripte in Webseiten einschleusen. Um die Sicherheit der Benutzerdaten zu schützen, sollten Entwickler geeignete Maßnahmen zur Abwehr von XSS-Angriffen ergreifen. In diesem Artikel werden einige häufig verwendete PHP-Technologien zur Abwehr von XSS-Angriffen vorgestellt.

Erkennung und Reparatur von PHP-SQL-Injection-Schwachstellen Erkennung und Reparatur von PHP-SQL-Injection-Schwachstellen Aug 08, 2023 pm 02:04 PM

Überblick über die Erkennung und Behebung von PHP-SQL-Injection-Schwachstellen: SQL-Injection bezeichnet eine Angriffsmethode, bei der Angreifer Webanwendungen verwenden, um böswillig SQL-Code in die Eingabe einzuschleusen. PHP ist eine in der Webentwicklung weit verbreitete Skriptsprache und wird häufig zur Entwicklung dynamischer Websites und Anwendungen verwendet. Aufgrund der Flexibilität und Benutzerfreundlichkeit von PHP ignorieren Entwickler jedoch häufig die Sicherheit, was zur Entstehung von SQL-Injection-Schwachstellen führt. In diesem Artikel wird beschrieben, wie SQL-Injection-Schwachstellen in PHP erkannt und behoben werden, und es werden relevante Codebeispiele bereitgestellt. überprüfen

Wie Sie mit PHP und Vue.js Anwendungen entwickeln, die vor vertraulichen Datenlecks schützen Wie Sie mit PHP und Vue.js Anwendungen entwickeln, die vor vertraulichen Datenlecks schützen Jul 06, 2023 am 11:01 AM

So verwenden Sie PHP und Vue.js, um Anwendungen zu entwickeln, die vor dem Verlust sensibler Daten schützen. Im heutigen Informationszeitalter sind die Privatsphäre und sensible Daten von Einzelpersonen und Institutionen zahlreichen Sicherheitsbedrohungen ausgesetzt. Eine der häufigsten Bedrohungen ist der Datenleck. Um diesem Risiko vorzubeugen, müssen wir bei der Entwicklung von Anwendungen auf die Datensicherheit achten. In diesem Artikel wird erläutert, wie Sie mithilfe von PHP und Vue.js eine Anwendung entwickeln, die den Verlust vertraulicher Daten verhindert, und entsprechende Codebeispiele bereitstellen. Verwenden Sie eine sichere Verbindung. Achten Sie bei der Datenübertragung darauf, eine sichere Verbindung zu verwenden.

So verwenden Sie PHP zur Abwehr von HTTP-Response-Splitting- und HTTP-Parameter-Contamination-Angriffen So verwenden Sie PHP zur Abwehr von HTTP-Response-Splitting- und HTTP-Parameter-Contamination-Angriffen Jun 29, 2023 am 10:01 AM

Wie man PHP zur Abwehr von HTTP-Response-Splitting- und HTTP-Parameter-Contamination-Angriffen einsetzt Mit der kontinuierlichen Entwicklung des Internets werden Netzwerksicherheitsprobleme immer wichtiger. HTTP-Response-Splitting und HTTP-Parameter-Contamination-Angriffe sind häufige Sicherheitslücken im Netzwerk, die zu Serverangriffen und Datenlecks führen können. In diesem Artikel wird erläutert, wie Sie PHP zur Abwehr beider Angriffsformen einsetzen können. 1. HTTP-Response-Splitting-Angriff Bei einem HTTP-Response-Splitting-Angriff sendet der Angreifer speziell gestaltete Anfragen, um den Server zu veranlassen, mehrere unabhängige HTTP-Antworten zurückzugeben.

See all articles