Antwort
 
Themen-Optionen Thema durchsuchen
Alt 20.07.2006, 09:56 Nach oben    #1
Benutzer
 
Registriert seit: 02.09.2005
Beiträge: 68
Standard mysql_real_escape_string automatisieren

Hiho


Hab mir mal ne kleine function (eigentlich sind es 2 ^^) ausgedacht damit ich nicht immer mysql_real_escape_string() schreiben muss. Würd gern mal wissen was ihr dazu so sagt


PHP-Code:
private function sql_sec$resource )
{
    if ( 
is_array($resource) )
    {
        return 
$this->getRecursiveSqlSec$resource );
    }
    return 
mysql_real_escape_string$resource );
}

private function 
getRecursiveSqlSec$array )
{
    foreach ( 
$array as $key => $value )
    {
        if( 
is_array$value ) )
        {
            
$value $this->getRecursiveSqlSec$value );
            
$array[$key] = $value;
        }
        
$array[$key] = mysql_real_escape_string$value );
    }
    return 
$array;

Julied64 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2006, 10:28 Nach oben    #2
Jay
Gast
 
Beiträge: n/a
Standard

http://www.php.net/array_map

array_map macht das Rekursive. Ist schneller als deine Funktion.

Zitat:
Würd gern mal wissen was ihr dazu so sagt
Nix. Solche Funktionen gibts schon 1000 mal im Internet und zumindest eine Variante hat wahrscheinlich jeder selbst in Verwendung. Ist glaube ich sogar in einem Kommentar im PHP Manual

Jay
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2006, 11:41 Nach oben    #3
leftover when bar closes
 
Benutzerbild von dsxs
 
Registriert seit: 29.06.2006
Ort: Bern
Beiträge: 123
Standard

Sowas wie das hier

PHP-Code:
// strip array
function strip_deep($value)
{
   
$value is_array($value) ? array_map('strip_deep'$value) : stripslashes($value);
   return 
$value;
}
//escape array
function escape_deep($value)
{
   
$value is_array($value) ? array_map('escape_deep'$value) : mysql_real_escape_string($value);
   return 
$value;

__________________
Unkraut ist die Opposition der Natur gegen die Regierung der Gärtner.
ticketbörse

dsxs ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2006, 11:48 Nach oben    #4
Benutzer
 
Registriert seit: 20.08.2005
Beiträge: 91
Standard

Habe auch eine Frage dazu:
- Stimmt es eigentlich das wenn ich mysql_real_escape_string jedesmal in den Insert-Query schreibe statt jeden Wert zuvor jeweils einer Funktion übergebe, also stimmt es das ich dann "mysql-Zugriffe" spare???

mfg
Homepagespeicher ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2006, 11:50 Nach oben    #5
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Nö.
Den ganzen Query zu escapen ist Schwachfug, das hab ich auch mal irgendwann versucht

Wenn, dann nur die einzelnen Werte.
Code:
SELECT col1 FROM table WHERE col2 = 'escapter wert';
__________________
Gedanken aus Draht stricken einen Zaun.
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2006, 12:01 Nach oben    #6
Benutzer
 
Registriert seit: 20.08.2005
Beiträge: 91
Standard

Zitat:
Den ganzen Query zu escapen ist Schwachfug,
Das ist auch etwas unlogisch, da ein query eine Mysql Anweisung ist, er wäre weg qusi...
- Ich meinte wenn ich 10 Eingabewerte hab und schreib
INSERT 10x escapter Wert in TABELLE, hab ich EINEN Query
- Wenn ich die 10 Werte aber vorher per Funktion berreinige habe
ich 10 Mysql Zugriffe, oder?
Bitte berichtigt mich wenn ich mich täusche, aber ich glaub es ist etwas perfomanter die Eingabewerte ""im query" zu escapen...?
Zitat:
SELECT col1 FROM table WHERE col2 = 'escapter wert';
Bei DB-Ausgabe escapen, wenn die Werte schon aus der DB kommen fängt aber der Schwachfug erst an, mh?

mfg
Homepagespeicher ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2006, 12:08 Nach oben    #7
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Zitat:
Bei DB-Ausgabe escapen, wenn die Werte schon aus der DB kommen fängt aber der Schwachfug erst an, mh?
Les dir die Codezeile nochmal durch. Und dann nochmal. Und danach dann vielleicht nochmal.
__________________
Gedanken aus Draht stricken einen Zaun.
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2006, 12:13 Nach oben    #8
Benutzer
 
Registriert seit: 20.08.2005
Beiträge: 91
Standard

Hab Deinen Query nicht ganz zuende gelesen, entschuldige bitte!
Aber meine Frage wegen der Perfomance bleibt noch bestehen...
Homepagespeicher ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2006, 12:16 Nach oben    #9
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.203
Standard

mysql_real_escape_string baut keine verbindung zur datenbank auf! also kein query!
sprich nix mit mehr verbindungen zur datenbank
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2006, 12:25 Nach oben    #10
Benutzer
 
Registriert seit: 20.08.2005
Beiträge: 91
Standard

Aha, wußte ich nicht:
Denn wenn keine DB Verbindung besteht geht doch auch kein mysql_real_escape_string - also kein query aber Verbindung zum MySQL-Server!?!
Mh... werd die Performance Frage da noch nicht ganz los... ?

mfg
Homepagespeicher ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2006, 12:41 Nach oben    #11
Benutzer
 
Registriert seit: 02.09.2005
Beiträge: 68
Standard

aaahhh *schrei*

da baut man sich mal nettes und denkt man hat sich arbeit erspart...und dann gibts des ding schon.... *lach* *anKopflang*

sorry für die störung ^^
Julied64 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.07.2006, 13:50 Nach oben    #12
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

mysql_real_escape_string() fragt bei der Datenbank nach, welche Collation genutzt wird, also nichts mit keine Verbindung
__________________
Gedanken aus Draht stricken einen Zaun.
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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 sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
"Event Recorder" zum Automatisieren von Tests Orolhawion Sonstige Programmiersprachen 17 02.10.2007 14:45
klassen dokumentation automatisieren beny_mcde Tools, Server, Betriebssysteme 4 19.10.2005 20:03


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:22 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45