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.
public static function isLoggedIn () {
if(isset($_SESSION['login']) && $_SESSION['login'] == 1){
return true;
} else {
return false;
}
}
einfach eine fake Session machen
schon bin ich eingeloggt.
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 
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.
Dein Login ist zu 0% sicher.
public static function isLoggedIn () {
if(isset($_SESSION['login']) && $_SESSION['login'] == 1){
return true;
} else {
return false;
}
}
einfach eine fake Session machen
schon bin ich eingeloggt.
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 
Ich glaub du verwechselst da Cookies und Sessions
.
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

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

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