• XSS.stack #1 – первый литературный журнал от юзеров форума

cookie php

Привет.

Хороший гайд - Youtube

У меня вот так сделано:

JavaScript:
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script type="text/javascript">
    function logInBtn() {
        $('.btn-login').css('opacity', '0.6');
        $('.btn-login').css('cursor', 'not-allowed');
        setTimeout(function() {
            $('#login_err').html('Account not found');
            $('.btn-login').css('opacity', '1');
            $('.btn-login').css('cursor', 'pointer');
        }, 500);
    }

    function registerBtn() {
        console.log('Register button clicked');
        $('.btn-login').css('opacity', '0.6');
        $('.btn-login').css('cursor', 'not-allowed');

        if ($('#pass').val() == '' || $('#nickname').val() == '') {
            return false;
        }

        $.ajax({
            type: "POST",
            url: "/auth/confirm_login.php",
            data: {
                nickname: $('#nickname').val(),
                password: $('#pass').val()
            },
            success: function(result) {
                window.location.href = '/profile.php';
            }
        });

        setTimeout(function() {
            $('.btn-login').css('opacity', '1');
            $('.btn-login').css('cursor', 'pointer');
        }, 100);
    }
</script>
PHP:
<?php

session_start();

$_SESSION['auth'] = [
   
    'nickname' => $_POST['nickname'],
    'password' => $_POST['password'],
];

echo 'success';

Это уже вставляется туда где надо вывести ник и т.д
PHP:
<title><?php echo $_SESSION['auth']['nickname']; ?>  • wint-gamer </title>
 
Привет.

Хороший гайд - Youtube

У меня вот так сделано:

JavaScript:
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script type="text/javascript">
    function logInBtn() {
        $('.btn-login').css('opacity', '0.6');
        $('.btn-login').css('cursor', 'not-allowed');
        setTimeout(function() {
            $('#login_err').html('Account not found');
            $('.btn-login').css('opacity', '1');
            $('.btn-login').css('cursor', 'pointer');
        }, 500);
    }

    function registerBtn() {
        console.log('Register button clicked');
        $('.btn-login').css('opacity', '0.6');
        $('.btn-login').css('cursor', 'not-allowed');

        if ($('#pass').val() == '' || $('#nickname').val() == '') {
            return false;
        }

        $.ajax({
            type: "POST",
            url: "/auth/confirm_login.php",
            data: {
                nickname: $('#nickname').val(),
                password: $('#pass').val()
            },
            success: function(result) {
                window.location.href = '/profile.php';
            }
        });

        setTimeout(function() {
            $('.btn-login').css('opacity', '1');
            $('.btn-login').css('cursor', 'pointer');
        }, 100);
    }
</script>
PHP:
<?php

session_start();

$_SESSION['auth'] = [
   
    'nickname' => $_POST['nickname'],
    'password' => $_POST['password'],
];

echo 'success';

Это уже вставляется туда где надо вывести ник и т.д
PHP:
<title><?php echo $_SESSION['auth']['nickname']; ?>  • wint-gamer </title>
Привет. А сколько сессия живет?
 
Привет. А сколько сессия живет?
Пока куки живые, а так можно указать время жизни.
Я скинул ютуб канал где есть более свежее видео, которое очень подробно всё описывает
 
there is different between $_SESSION and $_COOKIE, simply .....
$_COOKIE:
stored in client browser as text file
secure: less secure
time: can take long time depends what set for
size: limited 4kb per cookie which's mean reduces server load
$_SESSION:
stored on the server
secure: more secure for ex: reducing the risk of tampering
time: exists only as long user is active
size: take large amount of data limited by server capacity which's mean increases server load

For Example Default Login Page
login.php
HTML:
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
</head>
<body>
    <h2>xss.pro Login</h2>
    <form action="log.php" method="post">
        <label for="username">Username:</label>
        <input type="text" id="username" name="username" required><br><br>
        <label for="password">Password:</label>
        <input type="password" id="password" name="password" required><br><br>
        <input type="checkbox" id="remember" name="remember">
        <label for="remember">Remember Me</label><br><br>
        <input type="submit" value="Login">
    </form>
</body>
</html>

For $_COOKIE [log.php]
PHP:
<?php

$usr = "admin";
$pwd = "password";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $username = $_POST["username"];
    $password = $_POST["password"];

    if ($username === $usr && $password === $pwd) {
     
        setcookie("user", $username, time() + (86400 * 30), "/"); // Set a cookie for 30 days
        echo "Login successful!";
        // do something
      
    } else {
        echo "Invalid username or password.";
    }
}
?>

for $_SESSION Only [log.php]
PHP:
<?php
session_start();

$usr = "admin";
$pwd = "password";

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $username = $_POST['username'];
    $password = $_POST['password'];

    if ($username === $usr && $password === $pwd) {
        $_SESSION['username'] = $username;

        // do something
        print "Login successful";
    } else {
      
        echo "Invalid username or password";
    }
}
?>
 
Hello. How long does a session last?
unless the max lifetime is changed for sessions in the php ini and session data is stored outside of php's trash cronjob, then ~20 minutes. you can extend it with repeat calls to the page, but that's why cookies are useful as well.

for auto authorization such as 'remember me for 30 days", you can generate a key and a timestamp for the user in the db, then store that in the cookie. as long as the cookie is alive, matches the hash and timestamp is not expired, set their session.

session data is like the ram of the current user page
 
Пока куки живые, а так можно указать время жизни.
Я скинул ютуб канал где есть более свежее видео, которое очень подробно всё описывает
время жизни сессии не равно времени жизни куки.
сессия живет столько сколько прописано в php.ini
У вас может в куках и будет sessionid но файла сессии не будет уже существовать физически
 
session lifetime is not equal to cookie lifetime.
the session lives as long as it is written in php.ini
You may have a sessionid in your cookies, but the session file will no longer physically exist.

correct, so to be a little clearer, session typically lasts until you close the window/tab. cookies last for as long as the server sets them, unless they exceed the maxlifetime.

typically tho, the average session max life is 20 minutes.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх