Beste manier om lidmaatschap op te slaan?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP er

PHP er

16/12/2019 18:41:55
Quote Anchor link
Hoi,

Ik wil voor betaalde gebruikers de advertenties uitschakelen zonder dat zij hoeven in te loggen op een account maar, wat is de beste optie daarvoor? Een cookie plaatsen met hun IP-adres lijkt mij bijvoorbeeld niets.. Soms verandert het IP-adres van een 4G-verbinding bijvoorbeeld.

Wat zou daarvoor de beste tactiek zijn? Mooiste zou zijn om browsergegevens op te slaan maar geen idee of dat er is..
 
PHP hulp

PHP hulp

08/11/2024 21:46:55
 
- Ariën  -
Beheerder

- Ariën -

16/12/2019 19:03:56
Quote Anchor link
Ik denk dat een inlog-account de beste oplossing is? Want voor betalende gebruikers heb je toch al dergelijke gegevens waarmee ze gebruik kunnen maken van hun diensten? Dan kan je het uitschakelen van advertenties prima via hun account regelen.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

17/12/2019 00:37:48
Quote Anchor link
En desgewenst maak je een REMEMBER ME vinkje bij het inlog formulier zodat de gebruiker automatisch ingelogd kan worden aan de hand van een cookie
 
Ward van der Put
Moderator

Ward van der Put

17/12/2019 12:36:08
Quote Anchor link
PHP er op 16/12/2019 18:41:55:
Mooiste zou zijn om browsergegevens op te slaan maar geen idee of dat er is..


Je kunt snel en eenvoudig een vingerafdruk maken van IP-adres plus browser-info:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$fingerprint
= sha1($_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']);
?>

De kans dat een andere bezoeker die wél reclame zou moeten zien precies dezelfde vingerafdruk heeft, is verwaarloosbaar klein.

Deze vingerafdrukken kun je bij succesvol inloggen opslaan in een databasetabel: komt een vingerafdruk daarna voor in deze tabel, dan toon je geen reclame.
 
- Ariën  -
Beheerder

- Ariën -

17/12/2019 12:41:31
Quote Anchor link
@Ward, hoe zie je dit op gedeelde netwerken waar alle computers dezelfde set-up hebben? Denk eens aan scholen en bedrijven.
Gewijzigd op 17/12/2019 12:41:48 door - Ariën -
 
PHP er

PHP er

17/12/2019 15:15:32
Quote Anchor link
Ward van der Put op 17/12/2019 12:36:08:
PHP er op 16/12/2019 18:41:55:
Mooiste zou zijn om browsergegevens op te slaan maar geen idee of dat er is..


Je kunt snel en eenvoudig een vingerafdruk maken van IP-adres plus browser-info:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$fingerprint
= sha1($_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']);
?>

De kans dat een andere bezoeker die wél reclame zou moeten zien precies dezelfde vingerafdruk heeft, is verwaarloosbaar klein.

Deze vingerafdrukken kun je bij succesvol inloggen opslaan in een databasetabel: komt een vingerafdruk daarna voor in deze tabel, dan toon je geen reclame.


@ Ward: Ik zag dat Ziggo een IP-netwerk heeft waarbij IP-adressen veranderen.. Ikzelf zie ook dat mijn IP-adres om de zoveel tijd verandert, is dat dan wel handig?


En nog een vraag voor iedereen: ben bezig met cookies, en zie dat de cookie ineens niet actief is wanneer de website wordt doorgestuurd van/naar http naar https verbinding.. Wat kan ik daar aan doen?
 
Ivo P

Ivo P

17/12/2019 15:32:54
Quote Anchor link
zorgen dat ding 1 wat je altijd doet: doorsturen van http naar https.

dus het setten van cookies komt dan altijd pas NA het doorsturen. Dus cookies horen bij https.
de http-versie heeft geen cookies, maar die heb je niet nodig.

Een bzoeker is hooguit een paar milliseconden op de onbeveiligde versie. Alleen maar om een redirect naar https te krijgen.
Elke andere handeling (inloggen, cookies setten, cookies lezen) worden op de secure versie van de site gedaan.

Toevoeging op 17/12/2019 15:34:28:

Ziggo heeft dynamische ipadressen. Maar het kan zo maar meer dan een jaar duren voor je een nieuw ip krijgt.

Met name na een tijd offline door
- uitschakelen van modem
- ontvangen van een nieuw modem
- storing bij Ziggo van meer dan een paar uur.
 
PHP er

PHP er

18/12/2019 14:46:33
Quote Anchor link
Ben bezig met de cookies! Nog wel een vraagje.

Wanneer ik naar website.nl/account/ ga, zegt deze dat er niet is ingelogd maar wanneer ik naar website.nl/login/ ga wordt ik wel doorgestuurd naar website.nl/account/ omdat het systeem zegt dat er dan wèl is ingelogd..

Heb ook even cookies-output gedaan via:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo $_COOKIE['user'];
, op de /account/-pagina is dat blanko en bij /login/-pagina weergeeft deze wel een output. Weet iemand hoe dat kan?

Ik werk met .htaccess, en links als /account/ en /login/ in plaats van account.php en login.php
 
- Ariën  -
Beheerder

- Ariën -

18/12/2019 14:51:45
Quote Anchor link
Ik vermoed dat je een specifiek pad in je setcookie() gebruikt.
Ik weet niet hoe de doorsturings-flow in je site werkt. Maar het is wel handig om te onthouden dat setcookie() pas werkt na een refresh.

Dus dit werkt niet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
setcookie("TestKoekje", "Ik ben een biscuitje", time()+3600);
print_r($_COOKIE);
?>
 
PHP er

PHP er

18/12/2019 15:14:35
Quote Anchor link
Ik heb deze:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
setcookie("user", $row['email'], time()+2147483647);
setcookie("id", $row['id'], time()+2147483647);
setcookie("code", $code, time()+2147483647);


Hoe zou ik dat dan moeten aanpassen? En die refresh; is dat dit?:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
header("Refresh: 3; url=/account/");
Gewijzigd op 18/12/2019 15:16:07 door PHP er
 
- Ariën  -
Beheerder

- Ariën -

18/12/2019 15:20:24
Quote Anchor link
Ik weet niet hoe jouw flow nu is. Maar inderdaad pas na een refreshis de cookie actief.
Ook ben ik benieuwd naar de reden dat je een mailadres in een cookie opslaat? Dat lijkt mij best onnodig omdat je die al in $row['email'] hebt staan.
Gewijzigd op 18/12/2019 15:20:45 door - Ariën -
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.