Jump to content
php.lv forumi

Sesijas


GS_

Recommended Posts

Nevaru iebraukt tajas sesijas, labprat vispar neizmantotu bet laikam nekadi.

Tatad uztaisiju tadu primitivu aizsardzibu kodam http://paste.php.lv/4710 sekojosi neievadot paroli kods nepalaizas. Es pat esmu gatavs pie katra klika ievadit paroli lai tik nebutu jaizmanto sesijas, bet pasreiz ka ievadi paroli aiziet talak uz aizsargajamo formu - aizpildi aizsargajamo formu submite. Vins prasa ievadit velreiz ievadit un forma nav submitejusies. Moska ir kadas alternativas lai neizmantotu sesiju ? Jo tie dati kas tiek ievaditi ir bezvertigi, vertiga ir tikai pati forma.

 

Vai moska taisit savadaku aizsardzibu ? Karoce cerams ka kads saprata ko es domaju.

Link to comment
Share on other sites

Točna nezinu, ko tu tur tajā kodā gribi izdarīt, bet pēc sesijām nu nemaz neizskatās :) .

 

C'mon, sesijas taču ir pavisam vienkāršas:

 

Visos failos, kur gribēsi tās izmantot, sākumā ieliec session_start();

 

Pēc tam vari definēt sesijas mainīgos ar $_SESSION masīva palīdzību, piemēram, $_SESSION['logged_in'].. Doma tāda - uztaisi formiņu, kas submitējas uz skriptu, kurā tiek startēta sesija (session_start();). Šajā skriptā pārbaudi vai submitotais jūzerneims ar paroli ir pareizs. Ja ir, tad izveido jau manis pieminēto $_SESSION['logged_in'] ar vērtību true (vai 1).. Un pēc tam visos pārējos skriptos, kur tiek startēta sesija, pārbaudi vai eksistē tas mainīgais, piemēram, if ($_SESSION[logged_ing] !== true) { die(); }. Nu kautkā tā.

Edited by andrisp
Link to comment
Share on other sites

Tax beidzot iebraucu. Imho sis ir pats grutakais ar ko ir nacies saskarties ieks PHP :)

 

Cik dross ir tamlidzigs kods ?

Lapa zem paroles tiek iestadits $_SESSION['logged_in'] = true;

 

Un sis ir ielikts visas aizsargajamas lappas.

if (!isset($_SESSION['logged_in'])) {

die();

}

else

{

Aizsargajamais kods

}

Edited by GS_
Link to comment
Share on other sites

<flame>Nu gan nereāli grūti. Tad jau nav nekas savāds, ka tu domā, ka ar PHP var tikai lapiņas taisīt...</flame>

Pastasti ko vel var ar PHP ? Browser speles, browser progas ? Jaa way to go....

Teicu tikai to ka sesijas ir pasreiz grutakais ar ko nacies saskarties ieks PHP. Paris h pastudejot manualus pieleca...

Link to comment
Share on other sites

if (!isset($_SESSION['logged_in']) && $_SESSION['logged_in'] !== true) {

Iztiec bez else.

Drusku nepareiza loģika šajā gadijumā IF nostrādās ja logged_in nebūs iesetots UN nebūs true proti $_SESSION['logged_in'] būs false tad šis vairs nenostrādās :) līdz ar to pareizi ir izmantot OR (vai).

 

if (!isset($_SESSION['logged_in']) || $_SESSION['logged_in'] !== true) {

 

šāds IF pie pirmā nesakrītošā nosacijuma izpildīsies (nevis pie visiem).

Link to comment
Share on other sites

Nee man nevajag nekadas ube fiskas man galvanais lai netiek klat pie aizsargajama koda.

Sesija sakas zem paroles un aizsargajamas lappas ir kods

 

if (!isset($_SESSION['logged_in'])) {

die(); }

 

to "die" nevar apiet ? Un cik tadu sistmu sarezgiti uzlauzt ?

Link to comment
Share on other sites

1) Es tomēr pārbaudītu vai tas $_SESSION['logged_in'] ir tieši boolean true,

2) Pieliktu klāt vēl pārbaudi vai IP ir tā pati, kas ielogojoties. (Ielogojoties uztaisītu mainīgo $_SESSION['user_ip'] vai kautkādu tādu, kur ieglabātu IP, un pēc tam visos skriptos vienmēr pārbaudītu vai patreizējā IP sakrīt ar to, ar kuru ielogojās)

 

Vairāk nemāku teikt.

Edited by andrisp
Link to comment
Share on other sites

×
×
  • Create New...