php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.02.2009, 13:20  
22hase
Gast
 
Beiträge: n/a
Standard PHP funktion gegen SQL-Injection

Hallo.

habe mal ne funktion geschrieben.

PHP-Code:
function sql_protect($eingabe
{
//Überflüssige Maskierungen aus der übergebenen Variablen entfernen
if(get_magic_quotes_gpc()) 
{
$eingabe stripslashes($eingabe);
}
$eingabe mysql_real_escape_string($eingabe);
return 
$eingabe;

Bin mir nur nicht sicher ab diese Ausreichend gegen SQL-Injection ist.

Vielleicht habt Ihr noch paar Tips was man besser machen könnte oder was gar Falsch ist.

Grüße Hase
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 10.02.2009, 13:22  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Falsch ist bspw. dass mysql_real_escape_string immer abhängig von der verwendeten Datenbankverbindung benutzt werden sollte.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 10.02.2009, 13:24  
22hase
Gast
 
Beiträge: n/a
Standard

Also mysql_real_escape_string immer direkt in die Abfrage schreiben.

Was ist noch falsch...? jemand der ne community macht meinte das geht so
 
Alt 10.02.2009, 13:29  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Wenn eine DB Verbindung besteht dann funktioniert das auch so. Allerdings wäre es eben besser wenn du noch den DB Link mit an die Funktion übergibst damit mysql_real_escape_string() genau diese Verbindung nutzt.

Ansonsten sollte das soweit passen.
Flor1an ist offline  
Alt 10.02.2009, 13:34  
22hase
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Flor1an Beitrag anzeigen
Wenn eine DB Verbindung besteht dann funktioniert das auch so. Allerdings wäre es eben besser wenn du noch den DB Link mit an die Funktion übergibst damit mysql_real_escape_string() genau diese Verbindung nutzt.

Ansonsten sollte das soweit passen.

dazu möchte auch jede abfrage gleich heißen..also beispiel $sql...anstatt eine $sql und eine $sqlabfrage usw
 
Alt 10.02.2009, 13:40  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Ich hab keine Ahnung was du mit dem Satz meinst.
Flor1an ist offline  
Alt 10.02.2009, 13:45  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Du kannst auch einfach prepared statements verwenden und die ganze injections Thematik hinter Dir lassen.
David ist offline  
Alt 10.02.2009, 13:47  
22hase
Gast
 
Beiträge: n/a
Standard

naja ich denke mal mit DB link meinst du die abfrage zum beispiel $sql heißt,

wenn ich nun in $sql mit an die funktion übergebe aber eine abfrage mal nicht $sql heißt würde die funktion nicht klappen...

(kann natürlich sein das ich dich miss verstanden haben )
 
Alt 10.02.2009, 13:50  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Zitat:
Zitat von 22hase
wenn ich nun in $sql mit an die funktion übergebe aber eine abfrage mal nicht $sql heißt würde die funktion nicht klappen...
Der Name des Funktionsparameters ist unabhängig vom übergebenen Wert.
PHP-Code:
function foo($bar) {
  echo 
$bar;
}

$x 'abc'
$y '123'
foo($x);
foo($y); 
David ist offline  
Alt 10.02.2009, 13:53  
22hase
Gast
 
Beiträge: n/a
Standard

@david

meinst du sowas in der art..

PHP-Code:
function sqlprotect ($sql
{
$boese = array(""," "," ","","","Œ","™","˜");
$gut = array(""," "," ","x1a","x9d","x9c","x99","x98" );
$sql stripslashes($sql);
$sqlclean str_replace($boese$gut$sql);
$sqlclean addslashes($sqlclean);
return 
$sqlclean;

 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
funktion für html escape etc. TeazY PHP Tipps 2009 19 12.02.2009 13:19
[Erledigt] Array innerhalb einer Funktion Marko_Schulze PHP Tipps 2008 8 02.12.2008 18:58
Rekursive Funktion bricht ab... duras666 PHP Tipps 2008 9 28.04.2008 11:36
gpc_quotes funktion: verbesserungsvorschläge? Promaetheus PHP Tipps 2007 10 12.08.2007 19:29
Komplexe Funktion: +Übersichtlichkeit, -Performance Jacks Rache PHP Tipps 2006 3 07.06.2006 14:22
PHP-GTK Tutorial Beitragsarchiv 9 02.11.2005 21:07
Rückgabewert einer rekrusiven Funktion PHP-Fortgeschrittene 7 06.10.2005 18:44
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
In einer Funktion auf eine Funktion der Klasse zugreifen phpbeginner PHP Tipps 2005-2 2 28.07.2005 00:30
Funktion in einer Funktion aufrufen? PHP Tipps 2005-2 11 14.06.2005 15:14
[Erledigt] Array-Übergabe in Funktion PHP Tipps 2005 1 08.05.2005 21:05
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44
[Erledigt] sql syntax error in funktion, kann aber nix finden :( PHP Tipps 2004 10 20.07.2004 19:19
[Erledigt] Referenz auf Funktion übergeben PHP-Fortgeschrittene 7 20.07.2004 09:51

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php funktion gegen sql injection, http://www.php.de/php-einsteiger/51663-php-funktion-gegen-sql-injection.html, php function sql injection, sql injection php, gegen sql injection, php sql injection, \\x1a sql, funktion gegen sql injection, sql injection kalsse, php function injection, sql injection function, sql php funktion, php funktionen gegen s, sql injection icq, php sql_clean, php funktion sql injection, php sql injection schutz, mysql_real_escape_string() ausreichend gegen injection, sql injection \\x1a, sqlclean php

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:22 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum