Ik heb het probleem dat mijn functie om cookies te setten
blijkbaar niet aangeroepen wordt.
Zet ik het op andere plek dan werkt het wel.
Weet ook niet wat ik met 'define' moet.
Er zijn ook telkens voorwaarden om de functie aan te roepen.
Iemand die me op weg kan helpen?

//Cookie names in Inifile

define("CKIEUS","USERNAME");              
define("CKIEPS","PASSWORDSHA1"); 


//in het procesbestand

class Login_Process {
	var $cookie_user = CKIEUS;
	var $cookie_pass = CKIEPS;
.
.
.
}


//functie aanroep

if(isset($_COOKIE[$this->cookie_pass])) 
	{ $this->set_cookie($usernameA, $password, '+'); }


//de functie

function set_cookie($username, $password, $set) {
{
setcookie($this->cookie_user, $usernameA, $cookie_expire, '/');
setcookie($this->cookie_pass, $passwordA, $cookie_expire, '/');
}
Ik heb het nu zo dat bij (eerst) inloggen 2 cookies worden geset.
En tevens opgeslagen in de database (IPTC).
Waar ik het verstandig vind om cookie value te wijzigen
verandert het ook in de database.
1 value is een vaste unieke waarde.
De andere wijzigt voortdurend.
Ik kan dus die twee cookies vergelijken met de waardes in de database.
In principe zou 1 cookie voldoende zijn natuurlijk.
De lidmaatschaps hash wordt elders in script gegenereerd.

$chars = "abcdefghijkmnopqrstuvwxyz023456789";
		    srand((double)microtime()*1000000);
		    $i = 0;
		    $pass = '' ;

   			while ($i <= 7) {
   			    $num = rand() % 33;
        		$tmp = substr($chars, $num, 1);
        		$pass = $pass . $tmp;
        		$i++;
    		}
			$codeB = sha1($pass);

$cookie_nameB = "code";
$cookie_code = $codeB;
setcookie($cookie_nameB, $cookie_code, time() + (86400 * 30* 30), "/"); // 2592000 = 30 day

$cookie_nameA = "user";
$cookie_value = $lid_hash;
setcookie($cookie_nameA, $cookie_value, time() + (86400 * 30 * 30), "/"); // 2592000 = 30 day

Ikzelf heb voor een dergelijke inlog twee cookie sgebruikt, een userID en een Hash.
Beiden werden gebruikt om in de database te controleren of er een match was, en indien dat geval is er ingelogd.
Bedankt voor je reactie Arien.
Dat wist ik van een vorige topic.
Ik ga dit nu toepassen voor de herkenning op de openbare pagina's.

Ik zit eraan te denken om de session voor het inloggen ook zo te gebruiken.
1 session waarde gehasht vast.
En 1 variabel..
Of is dat overtrokken en te veel?
De cookie die de session zelf aanmaakt, is die ook oproepbaar en uniek?

En kom ook opmerkingen tegen om de submits te vertragen met 2 seconden.
Omdat programma's die scannen op inputs daar een hekel aan hebben.
Is dat ook zo?
Sessies worden op schijf opgeslagen met de ID in de cookie als identifier. Dit is dus uniek oproepbaar. Nog een stap verder kun je zeggen dat je de lifetime van sessies kunt verhogen en daarmee het nut van aparte cookies wegvaagt. Is ook wel zo veilig, zeker als je niet echt weet wat je aan het doen bent met je cookies.

Submits kun je vertragen, zeker in het geval van mislukte inlogpogingen. Je moet er dan wel rekening mee houden dat je een tijdelijke blokkade op het IP moet doen, omdat het anders geen zin heeft. Immers; je kunt scripts gewoon meerdere malen naast elkaar oproepen.
Bedankt voor je reactie.
Ik werk meestal vanuit een bestaand script.
Waar ik dan de foute zaken uithaal en veranderingen in aanbreng.
Dat leert voor mij het beste.
Dat oorspronkelijke registratie en inlogscript barste van 'not done' zaken.
Zo werden alle gegevens van een lid uit de database gehaald.
En alle gegevens meegegeven in session waardes.
De cookies waren uitsluitend bedoeld om 30 dagen ingelogd te blijven.
En bevatten de username en het wachtwoord.
Dat is er al allemaal uit gesloopt.
De IP wordt gecontroleerd. En opgeslagen.
Of een lid daar gebruik van wil maken is optioneel.
Bij meer IP's (thuis, werk, gsm) is het mogelijk om deze extra op te slaan.

De forminputs waren minimaal beveiligd.
Dat is nu allemaal veranderd.
Ik gebruik nu (experimenteel) IPTC ipv database.
De inputs zijn beveiligd en worden gecontroleerd.
De persoonlijke gegevens zitten buiten de root.
De gegevens die belangrijk zijn worden gehasht.
Referenties op cookies en sesion worden vergeleken..
Emails worden automatisch verstuurd bij vergeten gegevens met gehashte code.
Ben aardig op weg dacht ik, haha.

Reageren