Jump to content
php.lv forumi

PHP login sistēma


ArnisR

Recommended Posts

Tātad izveidoju login sistēmu WEB lapai. Šis kods ir katras lapas sākumā, kur tiek pārbaudīts, vai lietotājs ir autorizējies:

 

<?php

session_start();

include_once("config.php");

$charset = mysql_query("SET NAMES 'utf8'");

 

if (!empty($_SESSION['login']) and !empty($_SESSION['password']))

{

$login = $_SESSION['login'];

$password = $_SESSION['password'];

$result = mysql_query("SELECT pid FROM users WHERE login='$login' AND password='$password'",$db);

if(!$result){exit();} else{$row = mysql_fetch_array($result);}

if (empty($row['pid'])){header("Location: login.php"); exit();}

}

else{header("Location: login.php"); exit();}

?>

 

Kā jums liekas, vai ar to pietiks, vai arī vēl kādi drošības pasākumi jāveic?

Un vēl: vai pietiek, ka SESSION mainīgi tiek izlaisti caur drošības funkcijām tikai pie ieejas, jeb tas ir jādara katrā lapā? Un vai vispār lietotājs var kaut kā manuāli izmainīt SESSION vērtības?

Paldies!

Link to comment
Share on other sites

Kāda jēga sesijā glabāt paroli un username-u un tad no tiem katru reizi mocīt datubāzi, lai uzzinātu vai tie atbilst, ja sesijā vienkārši var glabāt, ka lietotājs ir ielogojies.

Ja lietotājs nav ielogojies, tad $_SESSION['logged_user_id'] nebūs iesetots.

Kad lietotājs logojas, pārbaudam db vai parole pareiza un iesetojam $_SESSION['logged_user_id'] ar ielogotā lietotāja id, visdrīzāk jau kaut kur vajadzēs.

Kad lietotājs izlogojas, unset-ojam $_SESSION['logged_user_id'].

 

un tad viss tas penteris pārvēršas:

if (!isset($_SESSION['logged_user_id'])) {
 Header('location:/login.php');
 exit;
}

 

P.S. Lietotājs nevar izmainīt sesijas vērtības, jo cookijos glabājas tikai sesijas id, pēc kura vērtības tiek atrastas jau servera pusē.

Edited by codez
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...