Jump to content
php.lv forumi

login, taa droshiiba


jauninjais

Recommended Posts

tur jau taa lieta, ka man taa arii staav, taatad admins.php saakums

 

<?
session_start();
?>
...
<?php if(isset($_POST['parole']) && $_POST['parole'] == 'parole')
{
$_SESSION['loged_in'] = true;
}
?>

 

jauna_zinja2.php

 

<?
session_start();
if(!isset($_SESSION['loged_in']) || !$_SESSION['loged_in'])
?>

Link to comment
Share on other sites

  • Replies 38
  • Created
  • Last Reply

Top Posters In This Topic

visu teemeu nelasiiju... bik saakumu un apstiiju to kodu ..

manupraat ir sekjuuri. vieniigi register globals vaik izsleegt. tad manupraat ira okey :)

kaa gan tu vari uzmineet, kas ira $password ... ?

+ veel sesija nodereetu, bet cik te pamaniiju tad jau tika apstaastiits :)

Link to comment
Share on other sites

lai nevarētu tik pie jauna_zinja2.php kā savādāk, kā tikai caur includi no admin.php, var darīt tā: iekš admin nodefinē kādu globālu variabli vai konstanti, un iekš jauna_zinja2.php sākumā pārbaudi, vai viņa ir definēta, ja nav - exit :)

 

admin.php

define('IS_INCLUDE',true);

jauna_zinja2.php

if(! defined('IS_INCLUDE')) exit;

Link to comment
Share on other sites

Neliels koments, define() gļuko ar mmcache.. tas ir enkodēšanas laikā konstante pārveršas par īsto konstanti.. un kaut kādi loģiskie bloki pazūd..

 

vismaz man tā bija, tāpēc risinājums ir uzrakstīt rewrite rule uz `.inc.php`, lai tas sūta 403-eggogu

Link to comment
Share on other sites

Njemot veeraa, ka peedeejie jaunumi par Turck MMCache ir 2003-11-04, tad nav briinums, ka kaut kaadi gljuki paraadaas. Domaajams, ka labaak izveeleeties eAccelerator vai kaadu citu alternatiivu

Link to comment
Share on other sites

Nu konkre'ts piemērs ir tā, ka biju sadomājis rakstīt C++ stilā

 

MyClass.class.inc.php

if (defined('MyClass'))
  return true;

define ( 'MyClass', true );

... code ...

 

un līdz ar to, kompilējot tas viss tika ignorēts, jo konstante nav definēta, un tā arī saglabājies jau sakešotā PHP..

 

protams, varēja izmantot include_once,.. bet kā tāds fakts-gļuks tika atklāts un tika uzrakstīta f-ja LoadClass( $name );

Link to comment
Share on other sites

Ja tu vienreiz esi pareizi ielogojie, tad caur pārlūku,iesitot adresē jauna_zinja2.php, tev turpinās tā pati sessija. Aizvāc no jauna_zinja2.php to session_start(). Tad acessējot pa taisno, nekādas sessijas nebūs un viss būs štokos :)

Edited by john.brown
Link to comment
Share on other sites

kaut kaa nesanaak, varu to session destroy spaidiit cik gribu, bet taapat logojas no vienalga kurienes iekshaa?

 

<?
session_start();
if(!isset($_SESSION['loged_in']) || !$_SESSION['loged_in'])
?> 
html.. bla bla bla
---forma---
...
<input type="button" onClick="<?php session_destroy(); ?>" value="Iziet">
...

 

nekas nemainaas, peec taa iziet nospieshanas. vai man arii vajag redirekteet uz citu lapu peec sesijas atsleegshanas? pienjemsim paroles ievades lapu?

Link to comment
Share on other sites


×
×
  • Create New...