21

Re: Підскажіть будь ласка

Мені ще потрібно якось виходити з деяких сторінок і в мене в login.php створювалась сесія. Во код

<?php
session_start();
include('db.php');
mysql_select_db('progress',$db);
$result = mysql_query('SELECT * FROM users');
$myrow = mysql_fetch_array($result);
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="style/css" href="/style.css">
<title>Вхід на сайт</title>
</head>
<body class="login_body">

    <div class="login">
        <h1 align="center">Вхід на сайт</h1>
        <form action="/login.php" method="post" name="login" align="center">
        <input name="login" type="text" size="20" placeholder="Логін" tabindex="1" autofocus required><br>
        <input name="password" type="password" size="20" placeholder="Пароль" tabindex="1" required><br>
        <input name="submit"  class="submit" type="submit" value="Вхід" size="20">        
        </form>
        <a class="link_login" href="/register.php" >Ще не маєте акаунта?</a>
        <a href="/">Головна</a>
        <?php
        if(isset($_POST['login'])){
 
$login = mysql_real_escape_string($_POST['login']);
$password = md5($_POST['password']);
$auth = mysql_query("SELECT * FROM users WHERE login = '$login' AND password = '$password' LIMIT 1");
if(mysql_num_rows($auth) > 0) {
$user = mysql_fetch_assoc($auth);
echo '<center>Hello, '.$user['login'].'</center>';
$_SESSION["log"] = $login;
}
else
{
echo '<center><i><b>Некоректні дані!</b></i></center>';
}           
 
}
        ?>
    </div>

</body>
</html>

і ту сесію потрібно якось використати для виходу. Можете підсказати як зробити вихід із сесії. Наперед дякую!

22 Востаннє редагувалося 221VOLT (11.02.2016 22:34:45)

Re: Підскажіть будь ласка

VTrim написав:

З PHP5.5
Є password_hash() - хешування та password_verify() - перевірка.

На основі crypt()

чим відрізняється password_hash від hash ? (http://php.net/manual/ru/function.hash.php)

з метою ускладнення ще можна робити так --

$pass=sha1(md5($pass.$salt1));

або ще якось)

мені особисто password_hash не подобається тим що я з ним не зможу php->kphp
натомість hash у списку підтримуваних функцій kphp є - https://github.com/221V/kphp-kdb/blob/m … ctions.txt

23

Re: Підскажіть будь ласка

unset($_SESSION['log']);
Подякували: 221VOLT1

24 Востаннє редагувалося 221VOLT (11.02.2016 22:29:22)

Re: Підскажіть будь ласка

olekca01 написав:

Мені ще потрібно якось виходити з деяких сторінок і в мене в login.php створювалась сесія. Во код
....
і ту сесію потрібно якось використати для виходу. Можете підсказати як зробити вихід із сесії. Наперед дякую!

unset($_SESSION["log"]);

так?
це якщо register_globals=off
інакше ще потрібно
session_unregister('log');

ще можна всі змінні сесії знести -- отак як unset кожну але всі одразу -
$_SESSION = array();

ще існує session_destroy();

ще можна видаляти куку сесії (включаючи і випадок коли у вас власні сесії а не php-ні [тримаєте сесії в in-memory key-value бд/програмі -- тобто в Redis, memcache, erlang-процесі в памяті чи ще якісь способи] )

Подякували: VTrim1