[B]Gegen SQL Injection schützen

07/18/2010 09:23 .Sh4rk#1
Hey Leute,
Ich hab hier mal was nettes für euch.
Ich hab viele Metin2 Hp´s gesehen die sehr SQLI Infitierbar sind.

Und Geb euch hier mal einen Kleinen Quell Code der euch dafor schützen kann.

Es ist kein Tut nur ein Code die wo sich ein wenig aus kennen wissen wohhin damit :P

PHP Code:
<?
# Funktion macht Befehle zur Eingabe in SQL-Strings sicher vor Injection, da durch die Eingabe gegebene ' gequoted werden
# und dafür neue gesetzt werden.
# Diese Funktion für jede Variable ausführen.
# Die Funktion greift erst ab php-Version 4.3.0

function save_sql($wert,$secialChars=false)
{
   
//if(version_compare(phpversion(), "4.3.0", ">=")) {
   
        // stripslashes, falls nötig
        
if (get_magic_quotes_gpc()) {
            
$wert stripslashes($wert);
        }
        
        if(
$secialChars == true){
            
#$wert = htmlentities($wert);
            
$wert htmlspecialchars($wert);
        }
            
        
        
// quotieren, falls kein integer
        
if (!is_numeric($wert)) {
            
#$wert = "'" . mysql_real_escape_string(utf8_decode($wert)) . "'";
            
$wert htmlentities(utf8_decode($wert));
            
$wert mysql_real_escape_string($wert);
            
$wert str_replace("'""&acute;"$wert);
            
$wert "'" $wert "'";
            
//$wert = "'" . htmlentities($wert) . "'";
        
}

    return 
$wert;
}






function 
save_sql2($wert,$secialChars=false)
{
    
// stripslashes, falls nötig
    
if (get_magic_quotes_gpc()) {
        
$wert stripslashes($wert);
    }
    
    if(
$secialChars == true){
        
#$wert = htmlentities($wert);
        
$wert htmlspecialchars($wert);
    }
    
    
// quotieren, falls kein integer
    
if (!is_numeric($wert)) {
        
#$wert = "'" . mysql_real_escape_string(utf8_decode($wert)) . "'";
        
$wert htmlentities($wert);
        
$wert mysql_real_escape_string($wert);
        
$wert str_replace("'""&acute;"$wert);
        
$wert "'" $wert "'";
    }
    return 
$wert;
}
?>
Moderatoren Bitte Ändert den Titel in "HP gegen SQL Injektion Schützen"
07/23/2010 13:37 Cholik#2
Das ist kein Tutorial. Umschreiben oder wird geclosed.
07/24/2010 11:28 #FaiL'#3
Quote:
Originally Posted by Walter Sobchak View Post
Das ist kein Tutorial. Umschreiben oder wird geclosed.
Gestern, 13:37
:awesome:

Danke, auch wenn es kein Tutorial ist
07/25/2010 00:15 .Sh4rk#4
Sorry.
Es sollte kein Toturial sein. Ich habs auch nicht in die Section gepostet ein mod hat es wohl verschoben.
07/27/2010 19:19 x]vIrus[x#5
jaja, viele beschwerten sich dass man nicht #moved oder #closed spammen soll, doch nun seht ihr wie es hilfreich wäre!
07/29/2010 09:16 .Sh4rk#6
ja aber iwi wird immer bei den Falschen Moved oder Closed -.-"

Neja Hier kann auch Closed werden da ich nicht für das Script Supporte
07/29/2010 12:08 .BritainAndy#7
Tutorial:

Einfach überall ein escape_string( ) setzen

Fertig^^