anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Di 10 Jun, 2025 10:34

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Global Editor
BeitragVerfasst: Fr 08 Aug, 2008 19:18 
Offline
Profi
Profi

Registriert: Mo 30 Okt, 2006 21:29
Beiträge: 195
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 ^^


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Zuletzt geändert von Welv am Sa 09 Aug, 2008 15:45, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Global Editor
BeitragVerfasst: Fr 08 Aug, 2008 19:28 
Offline
Freak
Freak

Registriert: Mo 06 Sep, 2004 15:17
Beiträge: 3236
Geschlecht: Männlich
Und was tut dieser "globale Editor" genau?

Bitte um etwas mehr Beschreibung, denn Tabellen kann ich auch mit phpMyAdmin uvm Administrieren.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Global Editor
BeitragVerfasst: Fr 08 Aug, 2008 19:41 
Offline
Profi
Profi

Registriert: Mo 30 Okt, 2006 21:29
Beiträge: 195
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 ^^


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Global Editor
BeitragVerfasst: Fr 08 Aug, 2008 19:46 
Offline
Held
Held

Registriert: Fr 22 Feb, 2008 06:39
Beiträge: 276
Wohnort: Solingen
LoGD: http://apocalypse-rpserver.de/source.php
Warum sollte ich diesen Editor Installieren? Ich habe doch PHPMyAdmin.

Erklär mal Genauer wo in diesem Editor der Vorteil gegenüber phpmyadmin is.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Global Editor
BeitragVerfasst: Fr 08 Aug, 2008 19:48 
Offline
Profi
Profi

Registriert: Mo 30 Okt, 2006 21:29
Beiträge: 195
wenn deine admins, mods usw nix ändern können (sollen), oder du allen zugang zu phpmyadmin gibtst, brauchst es nicht ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Global Editor
BeitragVerfasst: Fr 08 Aug, 2008 19:51 
Offline
Held
Held

Registriert: Fr 22 Feb, 2008 06:39
Beiträge: 276
Wohnort: Solingen
LoGD: http://apocalypse-rpserver.de/source.php
Ah okay. jetzt kommen wir der Sache schon ein wenig näher...Find ich super falls ich mal einen COder einsetzen will.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Global Editor
BeitragVerfasst: Sa 09 Aug, 2008 06:35 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: Fr 25 Jan, 2008 00:32
Beiträge: 38
Geschlecht: Männlich
LoGD: http://piraldor.sfinger.net/source.php
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?

_________________
Piraldor v.2
unendliches leveln, 12 Spezialfähigkeiten, menge Quests,
Drachenkämpfe (ohne Zurücksetzen des Chars), Spezialwaffen/-rüstungen mit Bild,
Onlineangriffe auf Spieler (überall)...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Global Editor
BeitragVerfasst: Sa 09 Aug, 2008 14:04 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Juhui :D
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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Global Editor
BeitragVerfasst: Sa 09 Aug, 2008 15:56 
Offline
Profi
Profi

Registriert: Mo 30 Okt, 2006 21:29
Beiträge: 195
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 ;) und sensieble Tabellen in der logd DB, die keiner anrühren soll, kann man immernoch ausklammern.


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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Global Editor
BeitragVerfasst: Sa 09 Aug, 2008 18:01 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: Fr 25 Jan, 2008 00:32
Beiträge: 38
Geschlecht: Männlich
LoGD: http://piraldor.sfinger.net/source.php
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

_________________
Piraldor v.2
unendliches leveln, 12 Spezialfähigkeiten, menge Quests,
Drachenkämpfe (ohne Zurücksetzen des Chars), Spezialwaffen/-rüstungen mit Bild,
Onlineangriffe auf Spieler (überall)...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Global Editor
BeitragVerfasst: So 10 Aug, 2008 15:37 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
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 ;) und sensieble Tabellen in der logd DB, die keiner anrühren soll, kann man immernoch ausklammern.


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.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum