Heim PHP-Bibliotheken Andere Bibliotheken PHP-Klassenbibliothek zur Verhinderung von SQL-Injection
PHP-Klassenbibliothek zur Verhinderung von SQL-Injection
<?php
class sqlsafe {
  private $getfilter = "'|(and|or)\b.+?(>|<|=|in|like)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";
  private $postfilter = "\b(and|or)\b.{1,6}?(=|>|<|\bin\b|\blike\b)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";
  private $cookiefilter = "\b(and|or)\b.{1,6}?(=|>|<|\bin\b|\blike\b)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";
  public function __construct() {
    foreach($_GET as $key=>$value){$this->stopattack($key,$value,$this->getfilter);}
    foreach($_POST as $key=>$value){$this->stopattack($key,$value,$this->postfilter);}
    foreach($_COOKIE as $key=>$value){$this->stopattack($key,$value,$this->cookiefilter);}
  }
  public function stopattack($StrFiltKey, $StrFiltValue, $ArrFiltReq){
    if(is_array($StrFiltValue))$StrFiltValue = implode($StrFiltValue);
    if (preg_match("/".$ArrFiltReq."/is",$StrFiltValue) == 1){
      $this->writeslog($_SERVER["REMOTE_ADDR"]."    ".strftime("%Y-%m-%d %H:%M:%S")."    ".$_SERVER["PHP_SELF"]."    ".$_SERVER["REQUEST_METHOD"]."    ".$StrFiltKey."    ".$StrFiltValue);
      showmsg('您提交的参数非法,系统已记录您的本次操作!','',0,1);
    }
  }
  public function writeslog($log){
    $log_path = CACHE_PATH.'logs'.DIRECTORY_SEPARATOR.'sql_log.txt';
    $ts = fopen($log_path,"a+");
    fputs($ts,$log."\r\n");
    fclose($ts);
  }
}

Diese Klassenbibliothek erstellt zunächst die Funktionsparameter, prüft und schreibt dann das Protokoll und überprüft schließlich das SQL-Injection-Protokoll. Es ist eine sehr nützliche PHP-Klassenbibliothek, um SQL-Injection zu verhindern


Haftungsausschluss

Alle Ressourcen auf dieser Website werden von Internetnutzern bereitgestellt oder von großen Download-Sites nachgedruckt. Bitte überprüfen Sie selbst die Integrität der Software! Alle Ressourcen auf dieser Website dienen nur als Referenz zum Lernen. Bitte nutzen Sie diese nicht für kommerzielle Zwecke. Andernfalls sind Sie für alle Folgen verantwortlich! Wenn ein Verstoß vorliegt, kontaktieren Sie uns bitte, um ihn zu löschen. Kontaktinformationen: admin@php.cn

Verwandter Artikel

PHP-Implementierungskenntnisse zur Verhinderung von SQL-Injection PHP-Implementierungskenntnisse zur Verhinderung von SQL-Injection

23 Jun 2023

SQL-Injection ist eine gängige Angriffsmethode, die die Sicherheitsüberprüfung einer Anwendung umgeht, indem sie böswillige Eingaben in die SQL-Abfrage eines Angreifers einspeist. Diese Art von Angriff kommt häufig bei Webanwendungen vor, bei denen PHP eine weit verbreitete Programmiersprache ist. In PHP können Anwendungsprogrammierer die folgenden Techniken verwenden, um SQL-Injection zu verhindern. Verwenden vorbereiteter Anweisungen PHP bietet eine Technologie namens vorbereitete Anweisungen, die eine sichere Möglichkeit zur Verhinderung von SQL-Injection darstellt. Eine vorbereitete Anweisung ist eine Möglichkeit, Abfragewörter vor der Ausführung in eine SQL-Abfrage umzuwandeln.

PHP-Programmiertipps zur Verhinderung von SQL-Injection-Angriffen PHP-Programmiertipps zur Verhinderung von SQL-Injection-Angriffen

09 Jul 2023

Einführung in PHP-Programmierkenntnisse zur Verhinderung von SQL-Injection-Angriffen: SQL-Injection ist eine häufige Methode für Webanwendungsangriffe. Der Angreifer fügt schädlichen SQL-Code in die vom Benutzer eingegebenen Daten ein, um illegalen Zugriff auf die Datenbank zu erhalten oder schädliche Operationen durchzuführen. Um unsere Anwendungen vor SQL-Injection-Angriffen zu schützen, müssen wir einige Programmiertechniken anwenden, um vom Benutzer eingegebene Daten zu filtern, zu maskieren und zu validieren. In diesem Artikel werden mehrere gängige PHP-Programmiertechniken erläutert, die uns dabei helfen, SQL-Injection-Angriffe zu verhindern. Verwenden Sie vorbereitete Aussagen

Einführung in PHP-Funktionen zur Verhinderung von SQL-Injection Einführung in PHP-Funktionen zur Verhinderung von SQL-Injection

29 Nov 2016

Einführung in PHP-Funktionen zur Verhinderung von SQL-Injection

Empfohlene 10 Methoden zur Verhinderung von SQL-Injection Empfohlene 10 Methoden zur Verhinderung von SQL-Injection

13 Jun 2017

(1) mysql_real_escape_string – Escape-Sonderzeichen in der in der SQL-Anweisung verwendeten Zeichenfolge unter Berücksichtigung des aktuellen Zeichensatzes der Verbindung. Die Verwendungsmethode ist wie folgt:?123$sql= "select count(*)asctr from users wobei username=' ".mysql_real_escape_string($username)."'andpassword='". mysq...

Tipps zur Verhinderung von Java SQL-Injection-Angriffen Tipps zur Verhinderung von Java SQL-Injection-Angriffen

30 Jun 2023

Java ist eine Programmiersprache, die häufig für die Entwicklung von Anwendungen auf Unternehmensebene verwendet wird. Da jedoch immer mehr Bedrohungen für die Netzwerksicherheit auftreten, ist der Schutz von Anwendungen vor böswilligen Angriffen zu einer der wichtigsten Aufgaben für Entwickler geworden. Unter anderem ist die Verhinderung von SQL-Injection-Angriffen eines der kritischsten Sicherheitsprobleme während des Entwicklungsprozesses. In diesem Artikel werden einige Tipps zur Verhinderung von SQL-Injection-Angriffen vorgestellt, um Java-Entwicklern dabei zu helfen, ihre Anwendungen besser zu schützen. Zunächst ist es wichtig zu verstehen, was ein SQL-Injection-Angriff ist. Der SQL-Injection-Angriff ist eine Exploit-Anwendung

Leitfaden zur Verhinderung von SQL-Injection-Angriffen in PHP-Funktionen Leitfaden zur Verhinderung von SQL-Injection-Angriffen in PHP-Funktionen

02 May 2024

Die PHP-Funktion „protect_sql_injection()“ wird verwendet, um SQL-Injection-Angriffe zu verhindern. Sie wird durch die folgenden Schritte implementiert: Escape-Sonderzeichen. Konvertieren Sie Nicht-ASCII-Zeichen in HTML-Entitäten. Dadurch wird sichergestellt, dass vom Benutzer bereitgestellte Eingaben sicher verarbeitet werden, bevor Datenbankabfragen ausgeführt werden, wodurch die Einschleusung von bösartigem SQL-Code verhindert wird.

See all articles