[Yearupie] Pagina limiet script V1

Door Yearupie Achternaamloos, 12 jaar geleden, 2.640x bekeken

Dit script is bedoeld om het dataverkeer van je site te verminderen.
Mensen die op je site komen mogen bijvoorbeeld maar een 10 pagina's per minuut bekijken. Dan kunnen ze er 10 bekijken en daarna zullen ze een melding krijgen dat ze het maximum hebben bereikt.

Wat zit erin?
Makkelijk aanpasbare pagina's en tijd
Melding wanneer je limiet bereikt hebt.
Voorbeeld script

Nieuwe versie: http://www.phphulp.nl/php/scripts/11/1753/

Gesponsorde koppelingen

PHP script bestanden

  1. yearupie-pagina-limiet-script-v1

 

Er zijn 10 reacties op 'Yearupie pagina limiet script v1'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Johan M
Johan M
12 jaar geleden
 
0 +1 -0 -1
Op een site waar ik deze melding zou krijgen zou ik niet terug komen waarschijnlijk, dit lijkt me chronisch irritant. Je hebt toch juist een website om hem wél aan mensen te laten zien? Als je bang bent om over je dataliemiet heen te gaan, dan moet je een grotere hosting zoeken.
Onbekend Onbekend
Onbekend Onbekend
12 jaar geleden
 
0 +1 -0 -1
Nu log ik uit dmv seesion_destory(). En weg is het effect. Sowieso is dit dom. Waarom zou je dit gebruiken?
Niels K
Niels K
12 jaar geleden
 
0 +1 -0 -1
Je kan het beter gebruiken voor een contact formpje. Maar nog wat tommy zegt.. Even je sessions weggooien en je kan weer gaan:P
 
0 +1 -0 -1
Ik neem aan dat je niet van plan bent om elke minuut opnieuw in te loggen?
Je ziet het op verschillende online spellen, omdat deze vaak veel dataverkeer gebruiken wil men een maximum van een aantal pagina's instellen voor gebruikers die het spel gratis spelen. Betalende gebruikers hebben dan uiteraard geen limiet.

Als je over 10 pagina's bijvoorbeeld 30 seconde doet, je logt uit 5 seconde en je logt in 15 seconde. Dan heb je een 'voordeel' van 10 seconde.

Zonder al die kleine kinderen die mekaar een beetje blijven herhalen zou ik graag een suggestie horen hoe het beter zou kunnen volgens jullie.
M Ypma
M Ypma
12 jaar geleden
 
0 +1 -0 -1
@Yearupie, gewoon niet...
Het is moet een overbodige oplossing zijn.
Heb je een hoge dataload? Dan zul je wat aan je hosting moeten doen ipv je bezoekers weg te jagen.
Alsof je een lek in een dijk repareert door het water erachter weg te halen.
Pim -
Pim -
12 jaar geleden
 
0 +1 -0 -1
Sowieso moet zoiets met een database, nu is het cookies weigeren en gewoon doorgaan en dat zorgt ook weer voor serverload... (evt kan je het met eoa memcache opslaan, wel snel). En als je het dan aan het ip linkt, kan je weer universiteiten e.d. buitensluiten. Kortom verre van ideaal (tenzij je de limit veel hoger legt, maar dan kom je uit op een soort DOS beveiliging, wat beter buiten PHP om kan)

EDIT: En nog wat inhoudelijk:
De session data kan je beter even onder een niet zo voordehandliggende namespace zetten om conflicten met andere delen van je applicatie te voorkomen: $_SESSION['viewLimit']['page'] oid.
$_SESSION['page']++ is in het deel na je 2e if niet nodig, de var wordt toch straks gereset.
Je kan nu de pagina 1x minder bezoeken dan opgegeven. -> Zet de increment na de test.
Verder nog iets anders: je kan nu 17 keer de pagina bezoeken binnen 60 seconden en nog geen melding krijgen:
request, 50 sec wachten, 8 requests, 10 sec wachten, reset, 9 requests...
Oplossing:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
function PageLimit($maxPages,$timeLimit) {

    $_SESSION['requests'][] = time();
    
    // Haal de te oude requests weg
    foreach($_SESSION['requests'] as $key => $time) {
        if(time() >= ($time + $timeLimit))
            unset($_SESSION['requests'][$key]);
    }


    // En tel
    if(count($_SESSION['requests']) > $maxPages+1)
        return false;
    else
        return true;
}


?>
Victor Php
Victor Php
12 jaar geleden
 
0 +1 -0 -1
@ Yearupie

Gratis spelers hebben idd een limiet aan pagina's
De betalende spelers hebben dan geen tijdslimiet.. Dat is opzich ook wel logisch, maar zoals tommy zegt.. Er zijn mensen die dat doen hoor.. 2x klikken in totaal:P en je kan weer doen wat je wilt...

Gewoon host zoeken die onbeperkt dataverkeer geeft..

Maar ik kan begrijpen dat het handig is voor degene die het zoeken..
Daarom goede aanvoeging op de 'future phphulp':P
 
0 +1 -0 -1
@ Pim, 17 keer bekijken zonder melding?
Dan zal je zeker eerst wat veranderd hebben.
TJVB tvb
TJVB tvb
12 jaar geleden
 
0 +1 -0 -1
Yearupie, je houd niet bij wanneer iemand klikt, je reset na een minuut. Als ik na het inloggen eerst nog even wat anders doe en dan na 50 seconden 10 pagina's bezoek kan ik er daarna nog meteen weer 10 bekijken. Dan kom ik op 20 pagina's in 20 seconden.

En ik zie nog een leuke, ik log in 3 browsers in en kan er gemiddeld 30 per minuut bekijken.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
 
0 +1 -0 -1
Deze fouten heb ik grotendeels in de nieuwe versie eruit gehaald.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. yearupie-pagina-limiet-script-v1

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

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.