Suche auf lima-city
-
in: Login Cookie
geschrieben von artikelbox
Hallo
für geschützte Seite / einfaches Login würde ich SESSION Cookies vorschlagen
die erstellen sich quasi von selbst durch session_start() und $_SESSION[...]
Beispiel: geheimseite.php
<?php // ---------------------------------------------------- $admin_pwd = "geheim"; $salt_key1 = "3ysA7pMsG4j9a"; // ---------------------------------------------------- $admin_sec = md5($salt_key1.$admin_pwd); session_start(); $_SESSION['ts'] = time(); // ---------------------------------------------------- if ( !empty($_REQUEST['pw']) ) { $userpw = trim($_REQUEST['pw']); $userpw = stripslashes($userpw); $user_sec = md5($salt_key1.$userpw); if ($user_sec == $admin_sec) { $_SESSION['pw'] = $user_sec; } else { session_unset(); session_destroy(); } } // ---------------------------------------------------- if ( !empty($_REQUEST['seite']) ) { $go_seite = trim($_REQUEST['seite']); } else { $go_seite = 'Home/Start'; } // ---------------------------------------------------- if (strtolower($userpw) == 'logout' || strtolower($go_seite) == 'logout') { if (isset($_SESSION['pw'])) { session_unset(); session_destroy(); } } // ---------------------------------------------------- ?> <html> <head> <title>Seiten-Titel</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <div align="center"> <br /> <br /> --- <a href="?seite=Hallo+Welt">Home / Seiten-Titel</a> --- <br /> <br /> <?php // ---------------------------------------------------- print '<h2>'.$go_seite.'</h2>'."\n"; // ---------------------------------------------------- if (isset($_SESSION['pw']) && $_SESSION['pw'] == $admin_sec) { print '<br />'."\n"; print '<br />OK, die Zugangsdaten waren richtig'."\n"; print '<br />Datum / Login am: ' . date('Y-m-d H:i:s', $_SESSION['ts']) ."\n"; print '<br />'."\n"; print '<br />... hier die Inhalte im geheimen Bereich ... '."\n"; print '<br />'."\n"; // ---- LogOut get link ---- print '<br />'."\n"; print '<br />Log-Out ... <a href="?pw=logout&seite=Auf+Wiedersehen" style="color:red;">LogOut</a> '."\n"; print '<br />'."\n"; // ---- LogOut post form ---- print '<br />'."\n"; print '<form name="form1" method="post" action="">'."\n"; print ' <input type="hidden" name="seite" value="good_bye" />'."\n"; print ' Ende / Log-Out: <input type="submit" name="pw" value="LogOut" />'."\n"; print '</form>'."\n"; print '<br />'."\n"; } else { // ---------------------------------------------------- ?> <br /> <br /> <form name="form1" method="post" action=""> Passwort: <input type="password" name="pw" size="20" maxlength="50" /> <input type="hidden" name="seite" value="startseite" /> <input type="submit" name="go" value="LOGIN" /> </form> <br /> <br /> <?php // ---------------------------------------------------- } // ---------------------------------------------------- ?> <br /> <br /> <br /> </div> </body> </html>
ein ganz einfaches Login mit Passwort und SESSION Cookie
-
in: Wert einer Variablen in einer anderen Datei setzen
geschrieben von artikelbox
Hallo
@kogsz
ich würde da nichts ersetzen, sondern gleich ganz neu schreiben
hier mal ein Beispiel-Code
<?php // --------------------------------------------------------- // ------ Neue Zugangsdaten z.B. aus Formular-Eingabe ------ if (!empty($_POST['user_id'])) { $run_user_id = $_POST['user_id']; if (!empty($_POST['new_host'])) { $new_db_host = trim( $_POST['new_host'] ); } else { $new_db_host = ''; } if (!empty($_POST['new_user'])) { $new_db_user = trim( $_POST['new_user'] ); } else { $new_db_user = ''; } if (!empty($_POST['new_pass'])) { $new_db_pass = trim( $_POST['new_pass'] ); } else { $new_db_pass = ''; } if (!empty($_POST['new_name'])) { $new_db_name = trim( $_POST['new_name'] ); } else { $new_db_name = ''; } // ------ Neue config Datei erstellen ------ // ------------------------------------------ $new_cfg_string = ''; if ( !empty($new_db_host) && !empty($new_db_user) && !empty($new_db_pass) && !empty($new_db_name) ) { $new_cfg_string = "<?php \$db_host = \"".$new_db_host."\"; \$db_user = \"".$new_db_user."\"; \$db_pass = \"".$new_db_pass."\"; \$db_name = \"".$new_db_name."\"; ?>"; } // ------------------------------------------ // ------ Neue config Datei speichern ------ // ------------------------------------------ if (!empty($new_cfg_string)) { $new_filename = 'config_'.$run_user_id.'.php'; $save = file_put_contents($new_filename, $new_cfg_string); if ($save === false) { print "<p>Fehler beim Speichern.</p>\n"; } else { print "<p>OK ... neue Datei wurde gespeichert.</p>\n"; } } else { print '<p>Bitte alle Felder ausfüllen .... <a href="javascript:history.back();">zurück</a> </p>'."\n"; } // ------------------------------------------ } else { // --------------------------------------------------------- $logged_in_user_id = '357'; print ' <p>Neuen Datenbank-Benutzer anlegen</p> <br/> <br/> <form name="formular1" method="post" action=""> MySQL HOST: <input type="text" name="new_host" size="40" maxlength="100" /> <br/> MySQL USER: <input type="text" name="new_user" size="40" maxlength="100" /> <br/> MySQL PASS: <input type="text" name="new_pass" size="40" maxlength="100" /> <br/> DATENBANK: <input type="text" name="new_name" size="40" maxlength="100" /> <br/> <input type="hidden" name="user_id" value="'.$logged_in_user_id.'" /> <br/> OK: <input type="submit" name="weiter" value="Abschicken" /> </form> <br/> <br/> '; // --------------------------------------------------------- } // --------------------------------------------------------- ?>
Der Teil mit
ist nur ein Beispiel dafür$logged_in_user_id = '357';
dass ein User, der das machen "darf" auch vorher eingeloggt sein soll,
und die Config-Datei bekommt dann dessen User-ID .... config_357.php
diesen Teil kann man weglassen oder noch ausbauen, je nach Gusto
also z.B User-Login Status mit SESSION prüfen ... oder sowas (User- / Rechte- System)
für mehr Sicherheit kann man der neuen Config Datei nach dem Speichern
ja auch noch strenge CHMOD (Zugriffsrechte) geben