Layoutprobleme? - Styleswitcher!
![]() |
| | Themen-Optionen |
| | Nach oben #1 |
| Neuer Benutzer Registriert seit: 01.07.2005
Beiträge: 1
| Hi Leute, Bin neu hier und habe bis jetzt mit begeisterung die Info´s und Tutorials gelesen. Werde dies auch in Zukunft weiterhin tun. Deswegen will ich natürlich auch mein Teil dazu beitragen um Anfängern und Umsteigern zu helfen. Habe hier einen kleinen Artikel über SQL-Injection auf entwickler.com gefunden der für den ein oder anderen ganz interessant sein dürfte. greetz Rikku
__________________ mess with the best and die like the rest |
| | |
| | Nach oben #2 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 3.812
| Wenn Du in der Lage sein solltest selbst Tuts oder so zu schreiben ... dann sprech mich mal an |
| | |
| | Nach oben #3 |
| Neuer Benutzer Registriert seit: 06.04.2005
Beiträge: 22
| In Bezug auf SQL-Injection und PHP: PHP escaped automatisch kritische Metazeichen wie z.B. ein einfaches Anführungszeichen. Damit ist eine SQL-Injection Attacke allerdings nur bedingt ausgeschlossen, denn es gibt auch Möglichkeiten dieses Escaping auszutricksen. Daher ist es empfehlenswert mit den Funktionen htmlspecialchars() und htmlentities() zu arbeiten um eine Bearbeitung von Metazeichen durchzuführen. Dennoch empfiehlt es sich, eigene Ersetzungsmuster zu entwickeln und dann mit preg_replace() diese zu ersetzen. Wie im Artikel bereits erwähnt, darf man sich dabei aber nicht nur auf die Zeichen des ASCII-Zeichensatzes beschränken, sondern sollte auch die Unicode-Bezeichner in das Ersetzungsmuster einbeziehen.
__________________ If you read this message backward, Satan will force you to smoke marijuana. |
| | |
| | Nach oben #4 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 1.540
| ok. Dann lasst uns doch mal an einer Sicherheits-Funktion arbeiten. ich nutze derzeit: PHP-Code:
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw. Danke! |
| | |
| | Nach oben #5 | |
| Benutzer Registriert seit: 17.08.2005
Beiträge: 87
| Zitat:
siehe: http://www.php.net/manual/en/ref.inf...gic-quotes-gpc http://www.php.net/manual/en/ref.inf...quotes-runtime | |
| | |
| | Nach oben #6 |
| Neuer Benutzer Registriert seit: 06.04.2005
Beiträge: 22
| Gut, dann ist es ja umso wichtiger einen Algorithmus zu entwickeln, der eine lückenlose Überprüfung und Ersetzung von Metazeichen bietet. Wir könnten ja mal ein paar Ideen Sammeln, aber ich denke auf Hotscripts.org findet man auch schon so was.
__________________ If you read this message backward, Satan will force you to smoke marijuana. |
| | |
| | Nach oben #7 |
| Benutzer Registriert seit: 17.08.2005
Beiträge: 87
| Hm, verstehe ich mal wieder nicht. mysql_real_escape_string leistet doch genau das. Bei Abstraktionen sollte es etwas entsprechendes geben, z.B. bei pear-db DB_common::quoteSmart(). Noch besser ist es, die sql-Statements von den eigentlichen Nutzdaten zu trennen, wie es z.B. bei der mysqli-Erweiterung über die bind-Methoden geschieht. Aber bei weitem nicht nur dort, gebundene bzw benannte Parmeter sind eigentlich weit verbreitet und würden die eine oder andere sql-injection vermeiden. PDO unterstützt dies ebenso. Ich bin stark gegen die Vermischung von Eingabe-, Datenhaltungs- und Ausgabeschicht. Jede davon hat ihre Aufgaben und hat genug damit zu tun. magic_quote_xyz ist eine (Fehl-)Konfiguration der Eingabeschicht. Die Datenhaltung per mysql stört sich nicht an <> o.ä.; woran es sich stört wird von mysql_escape_string behandelt. Die Ausgabeschicht braucht nicht bevormundet werden; in ihr kann selbst entschieden werden, wie die Nutzdaten umgewandelt werden müssen. Eine zentrale in-einem-Rutsch-Funktion mag evtl. der Performance Tribut zollen, eine saubere Trennung ist es aber nicht. |
| | |
| | Nach oben #8 | |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 3.812
| Zitat:
Ich nutze bei meinen Userdaten auch einfach mysql_real_escape_string() und gut ist ... hm. Aber ich bin nicht wirklich so ein Security-Typ. Habe da sicherlich einige Wissenslücken die nach Material rufen, mit denen sie gesopft werden können Hehe. Grüße Ben. | |
| | |
| | Nach oben #9 |
| Neuer Benutzer Registriert seit: 06.04.2005
Beiträge: 22
| Also ich persönlich bevorzuge es Daten noch vor der Speicherung zu behandeln. Einfach aus dem Grund, dass eine Eingabe zumeist nur einmal geschieht, ein Aufruf der Daten allerdings mehrmals. Gut, eine saubere Trennung der Schichten ist sicherlich von Vorteil, dennoch sollte man meiner Meinung nach in jeder Schicht berücksichtigen, für was die entsprechenden Daten gedacht sind. mysql_real_escape_string() behandelt lediglich Metazeichen, die der Datenbank Schaden zufügen könnten, es gibt allerdings weitere Metazeichen, die in der HTML-Repräsentieung gefährlich werden (Stichpunkt Cross-Site-Scripting). Ein echt gutes Buch das ich letztens gelesen habe ist "Sicherheitsrisiko Internetanwendung" von Sverre Huseby. In PHP gibt es eigentlich relativ wenige Möglichkeiten für Sicherheitslücken, aber sie sind da und sie werden meist dann gefährlich, wenn der Entwickler ihnen keine Beachtung schenkt.
__________________ If you read this message backward, Satan will force you to smoke marijuana. |
| | |
| | Nach oben #10 | ||
| Benutzer Registriert seit: 17.08.2005
Beiträge: 87
| Zitat:
Zitat:
| ||
| | |
| | Nach oben #11 | |
| Erfahrener Benutzer Registriert seit: 19.08.2005
Beiträge: 113
| Zitat:
PHP-Code:
__________________ Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the universe is winning. | |
| | |
| | Nach oben #12 | |
|
Beiträge: n/a
| lass mich mal dein code kommentieren Zitat:
| |
|
| | Nach oben #13 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 1.540
| @clan: das weiß ich nicht mehr genau, warum ich das so gewählt habe... ich hatte da mal bei einem kleinen Projekt Probleme mit, die ich dadurch habe beheben können. Da ich nicht der Sicherheitsveranlagte Mensch bin... Ich dachte mir, dass ich in meinen Projekten meine eigene Funktion ^^ schreibe und diese dem steigenden Wissen anpasse. Das war auch ein Grund, warum ich das hier mal gepostet habe - um es der Kritik auszusetzen - scheinbar nicht ohne Grund. Cool fänd ich - wenn ihr das mit den Schichten nochmal erklärt - oder mir sagt, wonach ich suchen soll, weil ich das nicht gepeilt habe, worüber ihr da geredet habt! Mein Wunsch wäre es, wenn wir hier eine Funktion zusammenbasteln, die der Kritik derer im Forum hier standhält, und man dann nutzen kann, ohne Angst zu haben, dass da jmd. ankommt und in den Daten rumpfuscht!
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw. Danke! |
| | |
| | Nach oben #14 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 3.812
| Ich frage nochmal .. was genau ist denn an mysql_real_escape_string() jetzt schlecht? |
| | |
| | Nach oben #15 | |
| Erfahrener Benutzer Registriert seit: 19.08.2005
Beiträge: 113
| Zitat:
__________________ Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the universe is winning. | |
| | |
| | Nach oben #16 |
| Benutzer Registriert seit: 17.08.2005
Beiträge: 87
| Die Version wurde ja auch nicht kritisiert, Buhmann. Wenn ich daran Kritik habe, dann die, dass sich diese Funktion eigentlich nicht um die Bevormundung durch magic_quote kümmern sollte, da nirgendwo festgelegt wird, dass $text ein Parameter von aussen -also durch quote_gpc beeinflusst- ist. @Jann Hendrik: hum...such mal am besten erstmal nach Model,View,Controller (MVC) |
| | |
| | Nach oben #17 |
| Erfahrener Benutzer Registriert seit: 19.08.2005
Beiträge: 113
| hm wie wäre es mit dieser version? : PHP-Code:
__________________ Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the universe is winning. |
| | |
| | Nach oben #18 |
| Benutzer Registriert seit: 17.08.2005
Beiträge: 87
| Wenn ich schon Kahlschlagmethode programmieren würde, dann eher PHP-Code: |
| | |
| | Nach oben #19 |
| Erfahrener Benutzer Registriert seit: 19.08.2005
Beiträge: 113
| jo, macht wirklich mehr sinn, das ganze aufzuteilen, hast recht
__________________ Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the universe is winning. |
| | |
| | Nach oben #20 | |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 1.540
| Zitat:
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw. Danke! | |
| | |
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| sql injection | robo47 | Plauderecke | 3 | 18.05.2006 16:24 |
| [ SQL ] Artikel: About Security (#13): Mit Stored Procedures | Rikku | Plauderecke | 0 | 07.07.2005 23:21 |






