Hallo Community,
da mir die lezten Tage ziemlich fad, dachte ich ich mach mal was für die allgemeinheit,
hier ein sourecode eines login-systems mit rechte-abfrage.
Es ist einfach nur ein Sourcecode, der zum weitermachen animieren soll.
Code darf nach einem Beitrag zu diesem Thema frei verwendet werden!
Voraussetzungen:
- Webserver mit MYSQL
- Webserver mit PHP
Quelle: Selbst programmiert
Dateistruktur:
- include
- mysql_settings.php
- class
- class_users.php
- login_erfolgreich.php
- login.php
- functions.php
Login.php
login_erfolgreich.php
functions.php
include/mysql_settings.php
class/class_users.php
da mir die lezten Tage ziemlich fad, dachte ich ich mach mal was für die allgemeinheit,
hier ein sourecode eines login-systems mit rechte-abfrage.
Es ist einfach nur ein Sourcecode, der zum weitermachen animieren soll.
Code darf nach einem Beitrag zu diesem Thema frei verwendet werden!
Falls ihr Sicherheitslücken findet, bitte ich euch diese Sofort hier bekannt zu geben, werde ich dann sofort ausbessern
Vorschläge für besseren Code werde ich ebenfalls ausbessern
Voraussetzungen:
- Webserver mit MYSQL
- Webserver mit PHP
Quelle: Selbst programmiert
Dateistruktur:
- include
- mysql_settings.php
- class
- class_users.php
- login_erfolgreich.php
- login.php
- functions.php
Login.php
PHP-Quellcode
- <?php
- include ( "functions.php" );
- if ($_SERVER["REQUEST_METHOD"] == "POST")
- {
- if (login($_POST['txt_username'], $_POST['txt_password']))
- {
- header("location: login_erfolgreich.php");
- }
- else
- {
- echo "Login fehlgeschlagen (falscher Benutzername oder Passwort)";
- }
- }
- ?>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Demo: User/Rechte System</title>
- </head>
- <body>
- <form action="" method="POST">
- <input type="text" name="txt_username">
- <br />
- <input type="password" name="txt_password">
- <br />
- <input type="submit" value="login">
- </form>
- </body>
- </html>
login_erfolgreich.php
functions.php
PHP-Quellcode
- <?php
- include( "class/class_users.php" );
- session_start();
- function login ($username, $password) {
- $myuser = new user;
- if ($myuser->_login($username, $password))
- {
- $_SESSION['user_object'] = $myuser;
- return true;
- }
- else
- {
- return false;
- }
- }
- function check_login () {
- if (!isset($_SESSION['user_object']))
- {
- zugriff_verweigern();
- }
- }
- function zugriff_verweigern() {
- echo "Zugriff verweigert";
- die;
- }
- function check_rights ($r) {
- if (isset($_SESSION['user_object']))
- {
- $flag = false;
- $user_right = $_SESSION['user_object']->getRights();
- foreach ($r as $rights)
- {
- if ($rights == $user_right)
- {
- $flag = true;
- }
- }
- if (!$flag)
- {
- zugriff_verweigern();
- }
- }
- else
- {
- zugriff_verweigern();
- }
- }
- ?>
include/mysql_settings.php
class/class_users.php
PHP-Quellcode
- <?php
- class user {
- private $id;
- private $username;
- private $password;
- private $user_rights;
- private $conn;
- public function __construct() {
- include ( "include/mysql_settings.php" );
- $this->conn = new mysqli($db_host, $db_user, $db_pass, $db_name);
- }
- private function _load ( $id ) {
- $query = "SELECT * FROM benutzer WHERE ID = '" . $id . "'";
- $result = $this->conn->query($query);
- if (!$result)
- {
- return false;
- }
- else
- {
- while ($row = $result->fetch_array())
- {
- $this->id = $id;
- $this->username = $row['username'];
- $this->password = $row['password'];
- $this->user_rights = $row['rights'];
- }
- return true;
- }
- }
- public function _login ($username, $password) {
- $u = mysqli_real_escape_string($this->conn, $username);
- $p = mysqli_real_escape_string($this->conn, sha1($password));
- $query = "SELECT * FROM benutzer WHERE username='" . $u . "' AND password = '" . $p . "'";
- $result = $this->conn->query($query);
- if (!$result)
- {
- return false;
- }
- else
- {
- if ($result->num_rows == 1)
- {
- while ($row = $result->fetch_array())
- {
- return $this->_load($row['ID']);
- }
- }
- else
- {
- return false;
- }
- }
- }
- public function getRights () {
- return $this->user_rights;
- }
- }
- ?>