Jump to content
php.lv forumi

login script with cookies


anonīms

Recommended Posts

  • Replies 42
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

un kā man to uid iegūt? ja pašlaik tiek izmantots

function checkLogin(){

if(isset($_COOKIE['MWCUPS-AUTH'])){
$result = checktoken($_COOKIE['MWCUPS-AUTH'],$user_data);
if(7==$result){
return true;
exit();		
}
}
}

 

jo reāli sanāk, ka tas id taču nemētājas nekur pa gaisu (ne sesijā, ne cepumā)

Link to comment
Share on other sites

$user_data neko neatgriež.

echo $user_data[0] tukšs, print_r ar neko nerāda.

 

EDIT: tagad ieraudzīju tavu editu. dodos skatīties

 

/!\ Nu jā uid, bet vaitad viņš nedarbojas tika tajā post laikā, jo izmantots jau tiek tikai tad, kad tiek padots caur funkciju fja(uid)

Edited by anonīms
Link to comment
Share on other sites

masīvs $user_data pēc būtības domāts kā tāds $_SESSION aizvietotājs. Ko tu tālāk savā aplikācijā ar to dari un kā izmanto jau ir tava bēda. :) To katru reizi iegūst no cookie - līdz ar to tas ir pieejams visur, kur tiek izmantots check_token();

$user_data[0] == lietotāja ID

$user_data[1] == parole

$user_data[2] == autorenew - vai katru reizi pagarināt derīguma termiņu

$user_data[3] == derīguma termiņš - datums/laiks, līdz kuram derīgs šis autentifikators

$user_data[4] == klienta IP adrese - vari izmantot, lai konstatētu, ka ir mainījusies IP adrese.

$user_data[5] == info - serializēti dati, kuri tev vēl vajadzīgi, lai tiktu saglabāti / nav obligāts

$user_data[6] == kontrolsumma iepriekšējiem 6 elementiem.

 

edit: Savā skriptā Tu $user_data neredzi, jo tas ir ieslēpts funkcijā checkLogin(). Tev vajag to definēt kā globālo mainīgo, vai arī padot "by reference" checkLogin funkcijai.

Link to comment
Share on other sites

Ok, skaidrs. Bet varbūt vari pateikt kapēc print_r($user_data); strādā tikai iekšs checklogin() fjas? iemetot jebkur citur rāda, ka viņš ir tukšs...

 

EDIT: aizmirsti ko teicu :) iemetu

  $result = checktoken($_COOKIE['MWCUPS-AUTH'],$user_data);
if(7==$result){
print_r($user_data);
}

 

index failā un tagad viss strādā perfekti

Edited by anonīms
Link to comment
Share on other sites

Vienīgi nomaini gan rindas, kurās teikts NOMAINĪT OBLIGĀTI!

$key = pack('H*','86b6de905bbee18b3425f7e5974c1cad7e24ec06a707a2766c5988c20ebc7337');//šī ir slepenā šifrēšanas atslēga HEX formā, NOMAINĪT OBLIGĀTI!!!!

$hmac_key = pack('H*','8412789462918462123861789234612378964123763412781273467252347564735');//šī ir slepenā HMAC atslēga. NOMAINĪT OBLIGĀTI!!!!

Link to comment
Share on other sites

vēl pavisam pēdējā lieta, kas vispār nav saistīta ar šo tēmu

if($_GET['d'] == 'iziet')
{
 $result = checktoken($_COOKIE['MWCUPS-AUTH'],$user_data);
if(7==$result){
}


if(!$ielogojies)
{
header('location: ?');
}
else
{
mysql_query("UPDATE ".PREFIX."lietotaji SET online = '' WHERE id = '".$user_data['0']."'") or die(mysql_error());
  $_SESSION = array(); // reset session array
  session_destroy();   // destroy session.
  setcookie('MWCUPS-AUTH','',1);
header('location: ?');

}

}

 

kapēc neuztaisāis apdeits online = '' ?

pārbaudīju ar echo - viss ir ideāli. errori ar nemetas, jo pēc tā koda viss pārējais iet

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...