Biztonságos bejelentkezés
2011-07-28T15:42:43+02:00
2011-07-28T18:37:08+02:00
2022-07-19T05:27:28+02:00
  • És https-en kívül van valami megoldás?
    Mutasd a teljes hozzászólást!
  • Tök mindegy, milyen biztonságos a kódod, ha http-n átzavarod a jelszót. Az első lépes, hogy https-t használj. Anélkül kb. olyan, mintha egy szögre felakasztanád kívülre a kulcsot a bejárati ajtó fölé.
    Mutasd a teljes hozzászólást!
  • Biztonságos bejelentkezéshez ajánlom még ezt is:
    CSRF Token Validation
    Mutasd a teljes hozzászólást!
  • Szerintem fölösleges minden oldalnál lényegében újra bejelentkeztetni a felhasználót, onnantól az már mehet sessionből.

    Ez a rész pedig:

    $GLOB_url = mysql_real_escape_string($_POST['url']); if (($GLOB_cast_username == "") OR ($GLOB_cast_password == "")) { echo"<script>"; echo "alert('".missing_username_password."');"; echo"location.href='$GLOB_url';"; echo"</script>"; exit; }
    nem tetszik. Ezzel bizonyos körülmények között vissza lehet élni.
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    Tudom volt már kismillió téma de, szeretném megtudni mennyire biztonságos ez a login kód. És hogy lehetne még biztonságosabbá tenni, hogy megnehezítsem a feltörést.
    Az adatokat sima http protokolon kersztül kapja egy natur formból, így azt nem illesztem be:

    A login.php
    if ((!isset($_SESSION['GLOB_CAST_username'])) and (!isset($_SESSION['GLOB_CAST_password']))) { //kapcsolódás az adatbázishoz és a szükséges filek behúzása include_once'functions/connect.php'; include_once'functions/functions.php'; include_once"language/$lang.php"; //adatok fogadása $GLOB_cast_username = htmlspecialchars($_POST['cast_username']); $GLOB_cast_username = mysql_real_escape_string($cast_username); $GLOB_cast_password = htmlspecialchars($_POST['cast_password']); $GLOB_cast_password = mysql_real_escape_string($cast_password); $GLOB_accessibility = mysql_real_escape_string($_POST['cast_accessibility']); $GLOB_url = mysql_real_escape_string($_POST['url']); if (($GLOB_cast_username == "") OR ($GLOB_cast_password == "")) { echo"<script>"; echo "alert('".missing_username_password."');"; echo"location.href='$GLOB_url';"; echo"</script>"; exit; } //adatok lekérdezése a user táblából $SELECT_USER = "SELECT username,password,name,last_date FROM users WHERE (username) = ('$GLOB_cast_username') AND (password) = md5('$GLOB_cast_password')"; $QUERY_USER = mysql_query($SELECT_USER); $NUMROWS_USER = mysql_numrows($QUERY_USER); if ($NUMROWS_USER == 0) { echo"<script>"; echo "alert('".not_valid_username_password."');"; echo"location.href='$GLOB_url';"; echo"</script>"; exit; } else { $ARRAY_USER = mysql_fetch_assoc($QUERY_USER); } //ide kerül a tába update az aktuális dátum beillesztése stb. //adatok változóba $_SESSION['GLOB_CAST_username'] = $ARRAY_USER['username']; $_SESSION['GLOB_CAST_password'] = $ARRAY_USER['password']; //átirányítás a megfeleő oldalra } else { session_destroy(); echo"<script>"; echo"location.href='index.php';"; echo"</script>"; exit; }

    A biztonság nagyon fontos lenne mivel egy adminisztrációs programnak készül, és nem szeretném ha illetéktelenek jutnának céges adatok birtokába.
    Plusz minden oldalon vagy egy validate kód ami ellenőrzi a usert.


    if ((!isset($_SESSION['GLOB_CAST_username'])) and (!isset($_SESSION['GLOB_CAST_password']))) { ?><script> location.href='login.php'; self_close(); </script> <? exit; } else { $cast_username = $_SESSION['GLOB_CAST_username']; $cast_password = $_SESSION['GLOB_CAST_password']; $parancs= "SELECT name FROM users WHERE username = ('$cast_username') AND password = ('$cast_password')"; $eredmeny = mysql_query( $parancs ); $darab = mysql_num_rows( $eredmeny); if ( $darab == 0) { ?> <script language="javascript"> alert("Nem megfelelő felhasználónév vagy jelszó!"); location.href = "login.php"; self_close(); </script> <? die; } else { } }

    Van még egy tábla a useren kívűl, itt a modulok nevei vannak letárolva és a felhasználó id.Ha a felhasználóhoz tartozó modul 0 nincs joga, ha 1-olvasási jog, 2-írás/olvasás jog.Ez így jó-e vagy sem?

    Előre is köszönöm a válaszokat/segítséget.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd