GS_ Posted November 16, 2006 Report Share Posted November 16, 2006 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 More sharing options...
andrisp Posted November 16, 2006 Report Share Posted November 16, 2006 (edited) 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 November 16, 2006 by andrisp Link to comment Share on other sites More sharing options...
GS_ Posted November 16, 2006 Author Report Share Posted November 16, 2006 (edited) 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 November 16, 2006 by GS_ Link to comment Share on other sites More sharing options...
Virtuall Posted November 17, 2006 Report Share Posted November 17, 2006 <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> Link to comment Share on other sites More sharing options...
GS_ Posted November 17, 2006 Author Report Share Posted November 17, 2006 <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 More sharing options...
andrisp Posted November 17, 2006 Report Share Posted November 17, 2006 Domāju, ka pietiks vienkārši ar šo koda sākumā: if (!isset($_SESSION['logged_in']) && $_SESSION['logged_in'] !== true) { die(); } Iztiec bez else. Par drošību nemācēšu teikt. Superdroši jau nav, bet domāju ir ok. Link to comment Share on other sites More sharing options...
Roze Posted November 17, 2006 Report Share Posted November 17, 2006 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 More sharing options...
andrisp Posted November 17, 2006 Report Share Posted November 17, 2006 Nedaudz sajaucu - pats tā domīgi skatījos uz &&, bet neizmainīju. Link to comment Share on other sites More sharing options...
GS_ Posted November 17, 2006 Author Report Share Posted November 17, 2006 Nu es paslaik paliku pie varianta if (!isset($_SESSION['logged_in'])) { die(); } /Aizsargajamais kods Paslaik viss strada un ja nesmu ielogojies izmet vienkarsi baltu lapu. Nevar kautka apiet sito ? Link to comment Share on other sites More sharing options...
cilveks Posted November 17, 2006 Report Share Posted November 17, 2006 (edited) if (!isset($_SESSION['logged_in'])) { header("Location: nebalta_lapa.php"); die(); } Edited November 17, 2006 by cilveks Link to comment Share on other sites More sharing options...
andrisp Posted November 17, 2006 Report Share Posted November 17, 2006 Ko nozīmē apiet ? :) Bet laikam jau tu gribi, lai atveras galvenā lapa vai login lapa - tad skaties php.net/header . Link to comment Share on other sites More sharing options...
GS_ Posted November 17, 2006 Author Report Share Posted November 17, 2006 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 More sharing options...
andrisp Posted November 17, 2006 Report Share Posted November 17, 2006 Nu kautkā jau var - nozogot sesijas kūkiju, vai arī kautkā savādāk iesetojot to $_SESSION['logged_in'] mainīgo. Link to comment Share on other sites More sharing options...
GS_ Posted November 17, 2006 Author Report Share Posted November 17, 2006 Ne nu nozagt var visu, parformulesu savadak. Vai jus atstatu sadu drosibas sistemu jeb partaisitu uz sarezgitaku ? Link to comment Share on other sites More sharing options...
andrisp Posted November 17, 2006 Report Share Posted November 17, 2006 (edited) 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 November 17, 2006 by andrisp Link to comment Share on other sites More sharing options...
Recommended Posts