anpera.net https://anpera.dyndns.org/phpbb3/ |
|
Global Editor https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=4631 |
Seite 1 von 1 |
Autor: | Welv [ Fr 08 Aug, 2008 19:18 ] |
Betreff des Beitrags: | Global Editor |
Mir war mal wieder langweilig und hab einen kleinen Editor für alle Datenbanktabellen geschrieben. im array PHP: $noedit=array(); kann man alle tabellen reinschreiben, die nicht angezeigt werden sollen.viel spaß damit ^^ |
Autor: | Kevz [ Fr 08 Aug, 2008 19:28 ] |
Betreff des Beitrags: | Re: Global Editor |
Und was tut dieser "globale Editor" genau? Bitte um etwas mehr Beschreibung, denn Tabellen kann ich auch mit phpMyAdmin uvm Administrieren. |
Autor: | Welv [ Fr 08 Aug, 2008 19:41 ] |
Betreff des Beitrags: | Re: Global Editor |
in dieser version kann man alle vorhandenen datensätze in der DB ändern ... wie gesagt gehts bei den accounts vorerst nicht, aber für die gibts ja den usereditor. wenn es für ne tabelle keinen extra editor gibt, kann man diesen verwenden ohne rechte für phpmyadmin etc zu haben ![]() ist noch nicht umfangreich, kann es aber noch werden ^^ |
Autor: | Doctamy [ Fr 08 Aug, 2008 19:46 ] |
Betreff des Beitrags: | Re: Global Editor |
Warum sollte ich diesen Editor Installieren? Ich habe doch PHPMyAdmin. Erklär mal Genauer wo in diesem Editor der Vorteil gegenüber phpmyadmin is. |
Autor: | Welv [ Fr 08 Aug, 2008 19:48 ] |
Betreff des Beitrags: | Re: Global Editor |
wenn deine admins, mods usw nix ändern können (sollen), oder du allen zugang zu phpmyadmin gibtst, brauchst es nicht ![]() |
Autor: | Doctamy [ Fr 08 Aug, 2008 19:51 ] |
Betreff des Beitrags: | Re: Global Editor |
Ah okay. jetzt kommen wir der Sache schon ein wenig näher...Find ich super falls ich mal einen COder einsetzen will. |
Autor: | sFinger [ Sa 09 Aug, 2008 06:35 ] |
Betreff des Beitrags: | Re: Global Editor |
ist ja nur ne datei, die man einbinden muss.... ich find es genial, super idee nur wo wie scripte sich ein, welche tabellen superuser==2 editieren darf, falls man dem auch schon etwas editieren lassen möcht, damit nicht direkt zugang zu allem da ist? |
Autor: | Eliwood [ Sa 09 Aug, 2008 14:04 ] |
Betreff des Beitrags: | Re: Global Editor |
Juhui ![]() Installiert alle den Editor, wartet, bis jemand eine Lücke findet, um sich ohne Passwort als Admin einloggen zu können (Edahnien hat das schon am eigenen Leib gespürt, nur war das glücklicherweise ein White Hat, und kein Black Hat) und schon hat der eingeloggte Vollzugriff auf die Datenbank. Genial! Edit nach Code-Überschau: Du verwendest teils uralte Funktionen, die deprecated sind: PHP-Dokumentation hat geschrieben: Hinweis: Die Funktion mysql_list_tables() ist veraltet. Stattdessen ist es vorzuziehen, mysql_query() zu benutzen und den SQL Befehl SHOW TABLES [FROM db_name] [LIKE 'pattern'] zu verwenden. Abgesehen davon, ist folgende Unart, die in LoGD leider oft vorkommt, absolut unnützlich: $this->bbcode_second_pass_code('', 'db_query($sql) or die(db_error($sql));') db_query gibt nämlich niemals false zurück, sondern nur richtige MySQL-Ressourcen. Gibts einen Fehler - dann erledigt das db_query intern bereits und bricht die weitere Verarbeitung ab. Du bist beim Verwenden der Wrapper-Funktionen nicht konstistent - du nimmst db_query(), aber mysql_fetch_assoc()? $this->bbcode_second_pass_code('', 'while(list($key,$val)=each($row))') Das hier ist Veraltet und sollte nicht mehr Gebraucht werden. foreach heisst das Konstrukt, das für Array-Verarbeitung zuständig ist. $this->bbcode_second_pass_code('', 'foreach($row as $key => $val)') Auch ist das Weitergeben von solchen Daten über GET nicht empfehlenswert - schon einmal daran gedacht, dass auch text-Felder und grössere darunter sein können, die über GET nur zerstückelt ankommen? (GET unterstützt etwa maximal 1024 bis 2048 Byte Daten!) Übrigens solltest du, wenn du schon den Query an die Ausgabe schickst, die Ausgabe mit monospace-Schriftarten darstellen. Code als normale, variabel-breite Schriftarten zu sehen ist denkbarst ungünstig - schon alleine, weil ' dann ziemlich klein aussieht und schnell übersehen wird. |
Autor: | Welv [ Sa 09 Aug, 2008 15:56 ] |
Betreff des Beitrags: | Re: Global Editor |
Danke Eli für die Tipps. Bin nicht immer am neuesten Stand und hab die neue Version vom Editor gleich mal aktualisiert. Aber was meisnt du genau mit Zitat: Übrigens solltest du, wenn du schon den Query an die Ausgabe schickst, die Ausgabe mit monospace-Schriftarten darstellen. Code als normale, variabel-breite Schriftarten zu sehen ist denkbarst ungünstig - schon alleine, weil ' dann ziemlich klein aussieht und schnell übersehen wird. Zum Thema Sicherheit. Stimmt schon. Wenn jemand nen Admin Account knackt, kann er sich mit dem Editor austoben ... allerdings auch mit jedem anderen Editor der ihm in der Grott zur Verfügung steht. Und mehr als bestehende Werte der Logd Tabellen kann der Bösewicht ja nicht ändern. Backup sollte man haben ![]() Nun zu den Rechten die sFinger angesprochen hat. gibt nun ein weiteres array - PHP: $superuser=array(); einfach den Tabellennamen und das Superuserlvl eingeben, schon haben nur die mit entsprechenden lvl Zugriff PHP: $superuser=array("tabellenname"=>"mindest superuser level"); zb $superuser=array("accounts"=>3,"armor"=>2); ach ja. das editieren der account tabelle klappt nun auch. selbst wenn man den eigenen account editiert (hab vergessen das das nicht mit db_query geht ^^) edit... Zitat: Auch ist das Weitergeben von solchen Daten über GET nicht empfehlenswert - schon einmal daran gedacht, dass auch text-Felder und grössere darunter sein können Hab ich zu Anfangs nicht, da als erste Spalte üblicher weise IDs verwendet werden. Bei nastywords is es mir dann aufgefallen. Vorerst hab ichs so gelöst das bei nur einem Eintrag keine Daten mehr per $_GET übergeben werden und das update ohne WHERE abläuft. Werde mir fürs nächste Update was besseres einfallen lassen. |
Autor: | sFinger [ Sa 09 Aug, 2008 18:01 ] |
Betreff des Beitrags: | Re: Global Editor |
danke... teste ich gleich mal und eliwood, meinst du sicher das es lücken gibt oder nur das risiko, das ein superuser es ausnutzen würde sql zu schrotten??? ginge das überhaupt das irgendwelche user (ohne adminrechte) das badnav umgehen können um auf den globaledit zu greifen oder gar die sqlbank??? ich hab da kein plan von, deswegen frag ich nur zur sicherheit |
Autor: | Eliwood [ So 10 Aug, 2008 15:37 ] |
Betreff des Beitrags: | Re: Global Editor |
Welv hat geschrieben: Danke Eli für die Tipps. Bin nicht immer am neuesten Stand und hab die neue Version vom Editor gleich mal aktualisiert. Aber was meisnt du genau mit Zitat: Übrigens solltest du, wenn du schon den Query an die Ausgabe schickst, die Ausgabe mit monospace-Schriftarten darstellen. Code als normale, variabel-breite Schriftarten zu sehen ist denkbarst ungünstig - schon alleine, weil ' dann ziemlich klein aussieht und schnell übersehen wird. $this->bbcode_second_pass_code('', 'Dicktengleiche Schriftart') Zitat: Nicht-Dicktengleiche Schriftart Code gibt man am besten immer dicktengleich aus. Funktioniert mit den HTML-Tags <pre> am einfachsten, da werden dann auch Absätze (\r\n, \n und/oder \r) direkt übernommen. Welv hat geschrieben: Zum Thema Sicherheit. Stimmt schon. Wenn jemand nen Admin Account knackt, kann er sich mit dem Editor austoben ... allerdings auch mit jedem anderen Editor der ihm in der Grott zur Verfügung steht. Und mehr als bestehende Werte der Logd Tabellen kann der Bösewicht ja nicht ändern. Backup sollte man haben ![]() Es ist ein Unterschied, ob man vorgefertigte Masken hat, oder quasi Vollzugriff auf die Datenbank. In Masken bleibt die Integrität der Tabellen normalerweise gewährleistet, bei von-Hand-Arbeiten kann man aber da schon Fehler produzieren. Häuser ohne Besitzer, oder, noch schlimmer, Besitzer ohne Haus. Gibt verschiedene Szenarien - ich bin der Meinung, das diese Art von Zugang nur Personen erlaubt sein soll, die wissen, was sie tun - und dann über phpMyAdmin. Da kann man auch ein anderes Passwort setzen, und wenn jemand den knackt, ist man nicht selbst Schuld. Das Fehlen von der Möglichkeit, zusätzliche Zeilen einzufügen, ist aber gleichzeitig eine Schwäche deines "Global Editor" (der Name find ich übrigens Mist. Warum bitte globaler Editor? Du kannst doch damit gar nichts globales Editieren, noch ist er global Verfügbar). Ich halte diesen Editor für eine Sicherheitslücke. Aber immernoch besser als das in LotGD 1.0 mitgelieferte "Execute PHP". Keine Ahnung, ob das noch dabei ist. :> @sFinger: Ja, es kann Lücken geben, da kann sich jemand mit deinem Account anmelden, ohne dein Passwort zu kennen. Er muss nicht mal selbst angemeldet sein. Edahnien kann ein Liedchen davon singen. |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |