Vorstellung DNS-CP +- Sponsor-Board.de (https://www.sponsor-board.de) +-- Forum: Webmaster (/forumdisplay.php?fid=44) +--- Forum: Projekt vorstellen (/forumdisplay.php?fid=36) +--- Thema: Vorstellung DNS-CP (/showthread.php?tid=42838) |
Vorstellung DNS-CP - Stricted - 11.10.2013 11:52 Guten tag ich möchte hiermit das projekt DNS-ControlPanel vorstellen das projekt ist opensource und auf github einsehbar das ziel dieses projektes ist es ein dns interface zu bauen das mehrere systeme unterstützt geplant ist bisher mydns, powerdns und bind9 umgesetzt ist bisher nur mydns hier mal ein screenshot hier eine demo [Link: Registrierung erforderlich] (ohne dns server anbindung) und zu guterletzt der link zum source [Link: Registrierung erforderlich] ich freue mich üner feedbacks jeglicher art MfG Stricted/Terrax2 (sry für die schlechte rechtschreibung/satzstellung und kleinschreibung bin grade etwas in eile und legastheniker) RE: Vorstellung DNS-Webinterface - Sysix - 11.10.2013 12:09 Dein Login ist zu 0% sicher. Code: public static function isLoggedIn () {
Code: public static function isAdmin () {
RE: Vorstellung DNS-Webinterface - Stricted - 11.10.2013 12:13 dann würde ich gerne mal wissen wie ich diese variablen im browser ändern kann sind ja schließlich keine cookies die im browser landen du als user bekommst ja eigentlich nur die sessionid aber gut ich lasse mir da was einfallen RE: Vorstellung DNS-Webinterface - netCiX - 11.10.2013 12:36 Die Werte lassen sich auch nicht vom Client ändern. Der Client besitzt lediglich die Session-ID und unter dieser werden dann auf dem Webserver die Variablen abgelegt. Die Variablen sind also nicht ohne weiteres vom Client manipulierbar. RE: Vorstellung DNS-Webinterface - Mr-Trust - 11.10.2013 13:16 Sysix schrieb: Dein Login ist zu 0% sicher.
Code: public static function isLoggedIn () {
Code: public static function isAdmin () {
RE: Vorstellung DNS-Webinterface - Sysix - 11.10.2013 13:36 Ja da war ich etwas zu vereilig Ich hatte nämlich bei mir das Problem, dass ich ein Falsch konfigurierten Server hatte und er Session automatisch als Cookie gespeichert hat. RE: Vorstellung DNS-Webinterface - Mr-Trust - 11.10.2013 15:59 Auch das wage ich zu bezweifeln, dass das geht ^^. Die Session Werte können nicht beim Client gespeichert werden, diese Möglichkeit bietet die PHP Konfiguration gar nicht . Bei dir wird lediglich die sogenannte Session ID gespeichert, mit der dann die zugehörigen Session Inhalte auf dem Webserver verwendet werden können. Das einzige Problem, das dabei besteht, ist, dass jemand die Session ID eines anderen herausfindet und diese dann bei sich als Session ID abspeichert. Somit wird dieser dann als anderer Benutzer erkannt (Session-Hijacking). MfG RE: Vorstellung DNS-Webinterface - k1ngk0ng - 11.10.2013 16:14 Hallo, dachte schon, super, spielt mir genau in die Hände Aber dann sah ich, kein powerDns-Support und die Api wohl auch noch nicht funktionsbereit. Weist du, wann man hier damit rechnen kann? Kann man das vll. mit paar Euros supporten/beschleunigen? ^^ RE: Vorstellung DNS-Webinterface - Stricted - 11.10.2013 16:22 k1ngk0ng schrieb: Hallo,
dachte schon, super, spielt mir genau in die Hände Aber dann sah ich, kein powerDns-Support und die Api wohl auch noch nicht funktionsbereit. Weist du, wann man hier damit rechnen kann? Kann man das vll. mit paar Euros supporten/beschleunigen? ^^
RE: Vorstellung DNS-Webinterface - KoKsPfLaNzE - 11.10.2013 18:56 Hiho, ich hab mir mal bissel den Code angeguckt und find einige Stellen doch einwenig komisch. Zum einen solltest du PHPCode und HTMLCode von einander trennen, mit sowas fährt man nie gut. Zum anderen solltest du dir die "DatenbankClients" nochmal überarbeiten, es ist schön un gut das du mehrere Db´s unterstützt jedoch ist es nicht so gut dies via Case um zu setzen, wenn das mit einem Interface machst und einer Factory die das ganze steuert, könntest viel mehr DBs supporten, da vermutlich MSSQL un Oracel net gehen würd(nur code überflogen), weil einfach die Syntax an machen stellen nicht gleich ist und es feine unterschiede gibt. Zur DB noch kurz man sollte die Querys die man baut in ein Model verschieben un net mit anderen sachen mixen, somit ist der code bissel sauberer, ich finds persönlich am besten wenn pro Tabelle es eine Klasse gibt, damit man die querys an mehrern stellen nutzen kann und man bei DB änderungen gleich alles findet ohne hunderte Files durch zu gucken. Auch solltest dir überlegen ob dies wirklich so sinnvoll ist ... public static function connect($host, $user, $pw, $db, $driver, $port = Null) { ... Diese Methode kann och allein auf die Config zugreifen um die ConnectDaten zu erhalten, ohne das man den spaß immer rein geben muss. Die Template Engine die du dir da gebaut hast, ist ja schön und gut jedoch gibt es um einiges bessere umsetzungen die viel mehr sachen dir bieten wie zum beispiel Twig oder Smarty. BTW wieso schreibst in viele dateien immer "if(!defined("IN_PAGE")) { die("no direct access allowed!"); }", mach dir doch einfach einen public ordner wo styles un eine index liegt. Auf diesen Ordner geht dann das DocRoot vom vhost, und in der Index includest dann einfach die anderen benötigten Files, am besten mit so einem Autoloader oder sowas in der Richtung. Grüße KoKsPfLaNzE RE: Vorstellung DNS-Webinterface - Stricted - 11.10.2013 19:29 KoKsPfLaNzE schrieb: ich hab mir mal bissel den Code angeguckt und find einige Stellen doch einwenig komisch. Zum einen solltest du PHPCode und HTMLCode von einander trennen, mit sowas fährt man nie gut.
wird noch geändert werde warscheinlich auf die smarty engine umsteigen KoKsPfLaNzE schrieb: Zum anderen solltest du dir die "DatenbankClients" nochmal überarbeiten, es ist schön un gut das du mehrere Db´s unterstützt jedoch ist es nicht so gut dies via Case um zu setzen, wenn das mit einem Interface machst und einer Factory die das ganze steuert, könntest viel mehr DBs supporten, da vermutlich MSSQL un Oracel net gehen würd(nur code überflogen), weil einfach die Syntax an machen stellen nicht gleich ist und es feine unterschiede gibt.
Zur DB noch kurz man sollte die Querys die man baut in ein Model verschieben un net mit anderen sachen mixen, somit ist der code bissel sauberer, ich finds persönlich am besten wenn pro Tabelle es eine Klasse gibt, damit man die querys an mehrern stellen nutzen kann und man bei DB änderungen gleich alles findet ohne hunderte Files durch zu gucken.
hab alles getestet bisher hat alles funktioniert KoKsPfLaNzE schrieb: Auch solltest dir überlegen ob dies wirklich so sinnvoll ist
... public static function connect($host, $user, $pw, $db, $driver, $port = Null) { ... Diese Methode kann och allein auf die Config zugreifen um die ConnectDaten zu erhalten, ohne das man den spaß immer rein geben muss.
war ursprünglich so geplant das man verbindung zu mehreren datenbanken aufbauen kann KoKsPfLaNzE schrieb: Die Template Engine die du dir da gebaut hast, ist ja schön und gut jedoch gibt es um einiges bessere umsetzungen die viel mehr sachen dir bieten wie zum beispiel Twig oder Smarty.
wie oben gesagt werde ich warscheinlich auf smarty umsteigen KoKsPfLaNzE schrieb: BTW wieso schreibst in viele dateien immer "if(!defined("IN_PAGE")) { die("no direct access allowed!"); }", mach dir doch einfach einen public ordner wo styles un eine index liegt. Auf diesen Ordner geht dann das DocRoot vom vhost, und in der Index includest dann einfach die anderen benötigten Files, am besten mit so einem Autoloader oder sowas in der Richtung.
RE: Vorstellung DNS-Webinterface - KoKsPfLaNzE - 11.10.2013 19:52 hast ja nun noch net viele SQl sachen drin deswegen werden verschiedene DBs gehen, aber zum Beispiel bei Mssql gibt es kein Limit da läuft das via Top und Oracle machst das och noch bissel anders. Wenn mehrere DBs hast kannst das via Factory steuern dann holt vielleicht die Factory oder so die COnfig und man hätte da kein problem. Aber gibt tausend möglichkeiten das umzusetzen. RE: Vorstellung DNS-Webinterface - Stricted - 11.10.2013 20:20 @KoKsPfLaNzE sicher das interface war anfangs nur für den privat gebrauch bestimmt und dort wie viele sicher von sich kennen macht man sich über sowas erstmal keine gedanken aber da eh nur zu einer datenbank verbunden wird kann man die daten auch direkt in der function laden lassen dadurch das ich per pm mit k1ngk0ng über die api geschrieben habe wird eine mehrfach sql verbindung unnötig habe mit k1ngk0ng eine super lösung gefunden lasst euch diesbezüglich überraschen RE: Vorstellung DNS-Webinterface - KoKsPfLaNzE - 11.10.2013 20:36 Den Code musst ja net weg werfen, beim nächsten Projekt brauchst wieder sowas. Man muss ja nie das rad neu erfinden, sondern sollte schon vorhandene sachen nutzen, da man diese net noch mal so intensive nutzen muss. RE: Vorstellung DNS-Webinterface - Stricted - 11.10.2013 20:37 mach ich sowieso nicht nutze diese datenbank klasse auch für ein paar andere projekte passe sie halt nur immer individuell an pushsubject - push - 13.10.2013 17:03 pushmessage RE: Vorstellung DNS-CP - Stricted - 15.10.2013 11:25 soeben habe ich die unterstützung für powerdns fertiggestellt neueste änderungen: - multiserver api -> keine sql replikationen nötig kann alles per api an die anderen server gesendet werden - multiserver support -> nun wird mydns und powerdns unterstützt und das ganze kann per serverklassen erweitert werden die mysqlquerys für die zonen und records sind nun alle in die server klassen ausgelagert source: siehe first post viel spaß damit MfG RE: Vorstellung DNS-CP - k1ngk0ng - 16.10.2013 00:02 Hey Terrax2, das Projekt geht echt gut voran, endlich mal ein vernünftiges und solides Vorhaben Freue mich auf das Endprodukt RE: Vorstellung DNS-CP - Stricted - 17.10.2013 12:49 so bind9 wird nun auch supportet habe ein php script dazu gepackt das per cronjob ausgeführt werden kann dieses erstellt dann die zonefiles und danke k1ngk0ng zur idee mit der api MfG RE: Vorstellung DNS-CP - Stricted - 18.10.2013 14:03 kleines update bin grade dabei alles auf eine modifizierte smarty template engine umzubauen hier die template engine: [Link: Registrierung erforderlich] und den aktuellen fortschritt kann man hier sehen: [Link: Registrierung erforderlich] (wird alle 5 minuten mit github synchronisiert) MfG pushsubject - push - 04.11.2013 22:51 pushmessage pushsubject - push - 22.11.2013 19:17 pushmessage |