php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.05.2006, 20:26  
dsx
Benutzer
 
Registriert seit: 18.05.2006
Beiträge: 78
dsx
Standard stripslashes, addslashes, htmlentities etc

Guten Abend

Mir ist bewusst, dass dieses Thema bereits oft behandelt wurde und es einiges an Dokumentation diesbezüglich gibt.

Mir bleibt nach einigermassen viel Erfahrung mit PHP und googlen jedoch seit langem folgende Frage: wie schütze ich mich konkret gegen SQL-Injection? Welche Funktionen benutzt ihr, und welche bringen nichts?

Danke für kurze und klare Antworten,
dsx
dsx ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.05.2006, 20:29  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

das wurde vor kurzem, ich glaube von karl-150, hier mal gepostet:
http://shiflett.org/archive/184
Lies dir das mal durch.
Zergling-new ist offline  
Alt 19.05.2006, 20:44  
dsx
Benutzer
 
Registriert seit: 18.05.2006
Beiträge: 78
dsx
Standard

Vielen Dank für die rasche Antwort.
Sehr interessanter Text.
dsx ist offline  
Alt 20.05.2006, 01:21  
dsx
Benutzer
 
Registriert seit: 18.05.2006
Beiträge: 78
dsx
Standard

Ich habe nun mal einen Test gemacht.

Hier ein möglicher Text:

PHP-Code:
<?php
$dbh 
mysql_connect("localhost","user","pass");
$escape "hier e'in \test mit \" verschiedenen dingen, $ Ã¤ Ã¶ Ã© Ã* Ã¨ # * Â¦ zum esc'apen 
\\
\\\
\\\\
\\\\\
\n
\r
\nr

"
;
                
$escapet mysql_real_escape_string($escape);
echo 
$escapet;

?>
Wie gewünscht gibt er folgendes aus, ein Speichern in der DB ist nun sicher (Einziger negativpunkt: er hat mir das \test als tab formatiert:
Zitat:
hier e\'in est mit \" verschiedenen dingen, $ ä ö é Ã* è # * ¦ zum esc\'apen \n\\\n\\\\\n\\\\\n\\\\\\\n\n\n\r\n\nr\n\n
Nun lese ich den Müll wieder aus der DB, möchte es aber wieder in seiner ursprünglichen Form haben, weshalb ich den Text aus der DB mit stripslashes($escapet) probiere wieder "schön" zu machen. Genau hier sind wir an dem Punkt, an welchem ich schon immer scheitere, es sieht nicht mehr aus wie zu Begin.

Zitat:
hier e'in est mit " verschiedenen dingen, $ ä ö é Ã* è # * ¦ zum esc'apen n\n\\n\\n\\\nnnrnnrnn
Klappt ja eigentlich grösstenteils, aber gibt es denn nicht eine einfache, funktionierende Methode, die ganze Sache jeweils "sicher zu machen", in die DB zu werfen, rauszuziehen und am Ende genau gleich wieder zu haben??

dsx ist offline  
Alt 20.05.2006, 01:53  
Gast
 
Beiträge: n/a
Standard

Du läßt Dir doch schon zu Anfang die für mysql codierte Zeichenkette ausgeben.
Das ist also schon nicht mehr das, was Du eingegeben hast.

Wo läßt Du das ausgeben? Im Browser als HTML? Dann musst Du es auch dafür codieren.

In mysql Datenbank schreiben -> für mysql codieren
per html ausgeben -> für html codieren
 
Alt 20.05.2006, 09:25  
Erfahrener Benutzer
 
Registriert seit: 02.10.2003
Beiträge: 118
MaLo
Standard

*dummfrag*

Wo ist der Unterschied zwiche mysql_escape_string() und mysql_real_escape_string()?
__________________
MaLo ist offline  
Alt 20.05.2006, 10:58  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 1.476
DiBo33
Standard

Zitat:
Zitat von MaLo
*dummfrag*

Wo ist der Unterschied zwiche mysql_escape_string() und mysql_real_escape_string()?
*dummantwort*
Zitat:
Zitat von PHP-Manual
mysql_escape_string()
Diese Funktion ist identisch zur Funktion mysql_real_escape_string() ausgenommen, dass mysql_real_escape_string() eine Verbindungs-Kennung benötigt und den String entsprechend zum aktuellen Zeichensatz maskiert. Der Funktion mysql_escape_string() kann keine Verbindungs-Kennung übergeben werden und der aktuelle Zeichensatz wird nicht berücksichtigt.
DiBo33 ist offline  
Alt 20.05.2006, 11:03  
Erfahrener Benutzer
 
Registriert seit: 02.10.2003
Beiträge: 118
MaLo
Standard

Danke
__________________
MaLo ist offline  
Alt 21.05.2006, 21:25  
dsx
Benutzer
 
Registriert seit: 18.05.2006
Beiträge: 78
dsx
Standard

Vielen Dank für deinen Denkanstoss Bruchpilot.
Nun hab' ich die nötige Basis, alleine weiterzuarbeiten und einfach mal verschiedene Einstellungen zu testen ^^

Gruss
__________________
Unkraut ist die Opposition der Natur gegen die Regierung der Gärtner.
dsx ist offline  
 


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
htmlentities - teilweise umwandlung in seltsame zeichen Drache PHP Tipps 2007 2 08.07.2007 17:07
addslashes und stripslashes PHP Tipps 2006 9 13.07.2006 09:27
htmlentities und nl2br in einem kombiniert wiegia086 PHP Tipps 2006 7 22.04.2006 01:19
htmlentities bei post notyyy PHP Tipps 2006 1 04.03.2006 01:14
mail und stripslashes PHP Tipps 2006 8 09.01.2006 15:56
SQL Injektion verhindern? addslashes().. Alpha Centauri Datenbanken 6 06.01.2006 15:21
[Erledigt] htmlentities - viel zu viele backslashes *w�hh?* PHP Tipps 2007 3 14.11.2005 22:22
stripslashes() PHP Tipps 2005-2 6 09.10.2005 09:41
htmlspecialchars() vs htmlentities() vs addslashes() PHP Tipps 2005-2 3 16.09.2005 13:08
formular und htmlentities PHP Tipps 2005-2 4 15.09.2005 13:21
Frage zu addslashes und stripslashes PHP Tipps 2005-2 3 29.07.2005 14:01
[Forum-Projekt] Verständnisfrage zu htmlentities aktionkuba PHP Tipps 2005 9 08.04.2005 10:00
String von htmlentities() wieder in alten String Alpha Centauri PHP Tipps 2005 13 22.03.2005 17:20
addslashes "Problem" PHP Tipps 2005 0 01.02.2005 11:57
addslashes bei md5() ? bicpi PHP Tipps 2007 2 04.01.2005 17:10

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
stripslashes(htmlentities, sql injection addslashes, stripslashes vs addslashes, addslashes(htmlentities(stripslashes, htmlentities(stripslashes, sql injection \addslashes(htmlentities(stripslashes\, stripslashes html etities, \htmlentities(stripslashes(\, stripslashes(htmlentities(, unterschied addslashes addslashes, html addslashes, htmlenteties(addslashes), stripslahes htmlentities, addslashes htmlentities, stripslashes htmlentities, stripslashes, unterschied addslashes

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:03 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.