Goma - ein neues CMS
lima-city → Forum → Die eigene Homepage → Promotion
ausgeben
beispiel
code
datei
demo
entwickler
freuen
funktion
http
jemand
nutz
paar
problem
sache
sagen
schritt
stellen
string
system
url
-
goma-cms schrieb:
Hi
Deine Lösung für mysql ist natürlich sicherlich auch sinnvoll.
escape_String schützt vollständig gegen injections in folgender Forum nutze ich das:
$sql = "SELECT * FROM ... WHERE name = '".dbescape($_POST['...'])." OR name2 = '".dbescape($_GET['....'])."''";
Naja ehrlich gesagt meine ich genau das mit unsauberem Code. Wenn du später grössere SELECT's hast und du bei jeder Eingabe noch die Funktion aufrufen, wird der String sehr lange und damit auch unübersichtlich.
goma-cms schrieb:
Die Kommantare sind mir klar und ich arbeite mit dem kommentiren auch an mir
Ich habe mir für 1.3.1 vorgenommen, wenigstens bei jeder Funktion den return und übergabewert vollständig zu erklären.
Das ist schon ein guter Weg. Als nächsten Schritt würde ich dann alle zusammengehörenden Funktionen in eine zusammenfassende Datei auslagern. zB:
security.php -> dbescape usw.
output.php -> alles was mit dem Output (Formatierung) zu tun hat
usw.
Somit ist es auch für Entwickler die Module schreiben eifnacher den Überblick zu behalten.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ok
werd ich machen, wie oben geschrieben
Danke für die Tipps
Beitrag zuletzt geändert: 8.12.2009 18:21:42 von goma-cms -
N Paar Kommentare zu Sachen, die hier geschrieben wurden:
' und ":
' und " haben in PHP unterschiedliche Bedeutungen. '\n' gibt \n aus. "\n" gibt eine Leerzeile aus. '$var' gibt $var aus, "$var" gibt die Variable $var aus. Ich nutze allgemein an verschiedenen Orten verschiedene Strings. Wenn ich HTML ausgeben nutze ich ', da ich im Source gerne Attribute mit " öffne und schließe. An anderen Stellen nutze ich aber auch gerne Mal ". (Zum Beispiel, wenn ich gegen das Zeichen "\n" matche oder so.)
Zum Thema Escaping: Normalerweise nutzt man für optimales Escaping prepared-Queries. Bei PDO gehts über $db->prepare(), bei mysqli weiß ich net. (Bei mysql natürlich gar nicht, das ist uralt.)
prepared-Queries sind ein recht mächtiges Tool. Dabei wird erstmal ein String mit Platzhaltern "prepared" und anschließend mit Werten gefüllt und abgesendet. Aber, das findet ihr alles in der Doku eurer präferierten MySQL-Klasse.
Beitrag zuletzt geändert: 8.12.2009 20:22:12 von nikic -
nikic schrieb:
N Paar Kommentare zu Sachen, die hier geschrieben wurden:
' und ":
' und " haben in PHP unterschiedliche Bedeutungen. '\n' gibt \n aus. "\n" gibt eine Leerzeile aus. '$var' gibt $var aus, "$var" gibt die Variable $var aus. Ich nutze allgemein an verschiedenen Orten verschiedene Strings. Wenn ich HTML ausgeben nutze ich ', da ich im Source gerne Attribute mit " öffne und schließe. An anderen Stellen nutze ich aber auch gerne Mal ". (Zum Beispiel, wenn ich gegen das Zeichen "\n" matche oder so.)
Ich habe vorallem folgende Sachen gemeint:
An manchen Stellen wird zB "Ich bin ein String." und dann wieder 'Ich bin ein String' verwendet. Dies ist für mich sehr irritierend, da ich dann immer überprüfen muss ob wirklich Sachen wie "\n" vorkommen.
nikic schrieb:
Zum Thema Escaping: Normalerweise nutzt man für optimales Escaping prepared-Queries. Bei PDO gehts über $db->prepare(), bei mysqli weiß ich net. (Bei mysql natürlich gar nicht, das ist uralt.)
prepared-Queries sind ein recht mächtiges Tool. Dabei wird erstmal ein String mit Platzhaltern "prepared" und anschließend mit Werten gefüllt und abgesendet. Aber, das findet ihr alles in der Doku eurer präferierten MySQL-Klasse.
Deshalb habe ich weiter oben auch eine Funktion gepostet die prepared-Queries unter MySQL simuliert. -
@nikic
ich kenne den Unterschied zwischen beiden und verwende manchmal auch genau dehalb den einen oder den anderen.
Prepared Statements sind natürlich der optimale Schutz vor SQL-Injection.
Ich werde mal schauen, was ich so umsetze, weil der Schutz bisher auch relativ hoch ist. -
Ich hab noch einen Kleinen Tipp für euch,nur ein schönheitsfehlr,ich würde am Anfang von Goma,alsauf der startseite,das G nicht größder machen al die anderen buchstaben,weil man sonst leich Oma lesen könnte
-
Hallo
Nun meld ich mich hier mal wieder nach einiger Zeit.
Wir haben etwas entwickelt und sind aktuell an Version 1.4.
Nun haben wir den Code auf jeden Fall deutlich überarbeitet, wobei bei 1.4 noch mehr überarbeitet wird.
Desweiteren haben wir nun ein Supportforum eröffnet: http://forum.goma-cms.org
Wir haben nun auch ein neues Logo, das nicht mehr dazu aufruft Oma zu lesen. ;) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage