浏览代码

Paskaidrojumi kas notiek sesijas failos

master
Vitalijss 5 年前
父节点
当前提交
b647229754
共有 2 个文件被更改,包括 11 次插入3 次删除
  1. +4
    -3
      auth.php
  2. +7
    -0
      include/check_session.php

+ 4
- 3
auth.php 查看文件

@@ -1,4 +1,5 @@
<?php
//Iekļaujam failu, kurš satur konfigurāciju savineojumam ar datubāzi
include('include/db.php');

//Šis fails meklēs vai šāds lietotājs vspār eksistē, ja jā, tad pāries uz index lapu, lai varētu sākt strādāt.
@@ -20,16 +21,16 @@ while($rinda = mysqli_fetch_assoc($izpildam))

if (password_verify($parole, $paroles_h)) {
//Ja paroles sakrīt, sākam sesiju reģistrējam globālos mainīgos un priecājamies.
// echo 'Password is valid!';
//iztīrām, ja nu kas palicis
//iztīrām, ja nu kas palicis no iepriekšējās sesijas.
session_unset();
//Sākam jaunu svaigu sesiju
session_start();
$_SESSION['mails'] = $epasts;
//Ielādējam sākuma lapu, jeb index.php
header("Location: index.php");
die();
} else {
//echo 'Invalid password.';
//Ja parole nav pareiza, tad beidzam visas sesijas.
// Novācam visus sesiju mainīgos
session_unset();
// iznīcinām sesiju


+ 7
- 0
include/check_session.php 查看文件

@@ -1,9 +1,16 @@
<?php
//Pārbaudām vai sesija ir sākusies.
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
//Ja sesija ir sākusies, bet nesatur pareizos mainīgos, tad iznīcinam to.
if ($_SESSION['mails'] == ''){
header("Location: login.php");
die();
}
/* Autora piebilde. Šī ir ļoti primitīva sesijas drošības pārbaude.
Pēc būtības būtu jāģenerē unikāls sesijas identifikators, tas kaut kur jāglabā uz servera un jāsalīdzina ar to, kas
ir klienta pusē. Ja mainās, sesija ir jāiznīcina.
Bet šim vienkāršajam darbam derēs arī šādi. Kaut gan viegli laužams variants.
*/
?>

正在加载...
取消
保存

Powered by TurnKey Linux.