Sponsor-Board.de

Normale Version: Vorstellung DNS-CP
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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)
Dein Login ist zu 0% sicher.

Code:
    public static function isLoggedIn () {
if(isset($_SESSION['login']) && $_SESSION['login'] == 1){
return true;
} else {
return false;
}
}


einfach eine fake Session machen Wink schon bin ich eingeloggt.

Code:
    public static function isAdmin () {
global $conf;
$res = DB::query("SELECT * FROM ".$conf["users"]." WHERE id = :id", array(":id" => $_SESSION["userid"])) or die(DB::error());
$row = DB::fetch_array($res);
if(isset($row['admin']) && $row['admin'] == 1){
return true;
} else {
return false;
}
}


Die UserID mit der Nummer 1 ist meist Admin, also stell ich mir eine Session ein, wo ich $_SESSION['login'] = 1 UND $_SESSion['userid'] = 1 einstell.

Schon hab ich kompletten zugriff drauf Wink

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
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.

Sysix schrieb:
Dein Login ist zu 0% sicher.

Code:
    public static function isLoggedIn () {
if(isset($_SESSION['login']) && $_SESSION['login'] == 1){
return true;
} else {
return false;
}
}


einfach eine fake Session machen Wink schon bin ich eingeloggt.

Code:
    public static function isAdmin () {
global $conf;
$res = DB::query("SELECT * FROM ".$conf["users"]." WHERE id = :id", array(":id" => $_SESSION["userid"])) or die(DB::error());
$row = DB::fetch_array($res);
if(isset($row['admin']) && $row['admin'] == 1){
return true;
} else {
return false;
}
}


Die UserID mit der Nummer 1 ist meist Admin, also stell ich mir eine Session ein, wo ich $_SESSION['login'] = 1 UND $_SESSion['userid'] = 1 einstell.

Schon hab ich kompletten zugriff drauf Wink


Ich glaub du verwechselst da Cookies und Sessions Wink.
Cookies werden beim Client gespeichert und lassen sich einfach verändern.
Sessions hingegen liegen auf dem Webserver und lassen sich durch den User nicht manipulieren.
Solange er die Sessions immer erneuert und session.use_only_cookies auf 1 setzt, ist es fast unmöglich die Daten einer Session auszulesen, bzw. zu ändern.

MfG

Ja da war ich etwas zu vereilig Biggrin
Ich hatte nämlich bei mir das Problem, dass ich ein Falsch konfigurierten Server hatte und er Session automatisch als Cookie gespeichert hat.
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 Wink.
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
Hallo,

dachte schon, super, spielt mir genau in die Hände Biggrin

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? ^^

k1ngk0ng schrieb:
Hallo,

dachte schon, super, spielt mir genau in die Hände Biggrin

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? ^^


also wegen powerDns muss ich mal schauen die klassen sind ja soweit vorbereitet muss halt alles anpassen/umschreiben

und die api ist noch imbau

und zum letzten punkt -> pm me

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
Seiten: 1 2 3
Referenz-URLs