Ip logger/blokker met MYSQL

Door Sanderrb , 20 jaar geleden, 6.273x bekeken

Hallo,

Script voor het tegengaan van te veel pagina bezoek, of het te veel 'aanwezig' zijn op formulieren.

Het bestaat uit een functie die je bijvoorbeeld in je config file kan zetten.
De functie accepteert drie argumenten:
-aantal bezoeken
-de tijd (in minuten)
-de id can de pagina

Aan de hand van een combinatie tussen de tijd en het aantal bezoeken wordt bepaald of de gebruiker de pagina mag zien. (bv. aantal = 5 en tijd = 1, 5 bezoeken per minuut)

Doormiddel van de pagina id kan de fucntie meerdere keren worden aangeroepen in je site omdat er gekeken wordt naar de combinatie van ip en pagina id.
Na het verlopen van de ingestelde tijd begint het script weer opnieuw.

Als er aanvullingen op zijn hoor ik het graag. Let op, de functie maak gebruik van mysqli.
Script geschreven om bots, spam en vervelende bezoekers tegen te gaan.

Veel succes ermee!

Gesponsorde koppelingen

PHP script bestanden

  1. ip-loggerblokker-met-mysql

 

Er zijn 8 reacties op 'Ip loggerblokker met mysql'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Max
Max
20 jaar geleden
 
0 +1 -0 -1
het nadeel is wel dat je de MySQL server plat gooit als er zoveel mensen op komen... dus je houd ze idd tegen om teveel te posten...
Jacco Engel
Jacco Engel
20 jaar geleden
 
0 +1 -0 -1
`time_log` time NOT NULL,
`datum_log` date NOT NULL,

Wat is er mis met 1 DATETIME veld?
Sanderrb
Sanderrb
20 jaar geleden
 
0 +1 -0 -1
@max
Ja klopt dit gebeurt wel (al is de kans zeer klein) als je het op bijvoorbeeld de homepage plaats. Zelf gebruik ik het bij een bestelformulier.
@jacco
Vond het makkelijker of time veld apart te doen omdat deze meer (apart) wordt aangeroepen dan het datum veld.
M Ypma
M Ypma
20 jaar geleden
 
0 +1 -0 -1
@Sanderrb
Je code had wel wat overzichtelijker gemogen, het is nu bijna 1 grote lap tekst waar ik niet eens doorheen wil lezen.
Maar waarom zou ik maar 5 keer een formulier mogen zien? Ik snap je restrictie redenen niet, maar ik vermoed dat je een restrictie legt op een verkeerde factor.
Een formulier bezoeken lijkt mij geen probleem...een formulier posten wel...
Sanderrb
Sanderrb
20 jaar geleden
 
0 +1 -0 -1
@Ypma
Die vijf keer was maar een voorbeeld. En wat je zegt van formulier posten, daar kan je deze functie ook gewoon aanroepen. Kan ik heleboel manieren en plaatsen worden toegepast. Maar moet een simple voorbeeld geve snappie?
Jelle Posthuma
Jelle Posthuma
20 jaar geleden
 
0 +1 -0 -1
Bovendien, is een IP ban heel makkelijk te omzeilen...
(Voor als iemand ECHT die pagina wilt zien, kan ie makkelijk door je beveiliging heen.)
Noppes
Noppes
20 jaar geleden
 
0 +1 -0 -1
Mijn mening / opmerkingen:
- het ontbreken van fatsoenlijke controle / foutafhandeling
- onoverzichtelijk gecodeerd
- php variabelen buiten qoutes
- een functie behoort geen output te geven naar de browser
- het onnodig onderdrukken van fouten met @
- het gebruik van de fetch_array i.p.v. fetch_assoc
- mysqli_insert_id geeft return als een int of false dus waarom typecasten naar int
- beveiliging tegen sql-injection
- datum en tijd gescheiden opslaan is onjuist indien deze aan elkaar gerelateerd zijn!
- de kracht van database wordt niet goed benut

Voor de rest schort het aan:
- nette documentatie
- voorbeeld is ook niet je van het

Conclusie:
- het niveau is niet gevorderd maar beginner
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Lode
Lode
20 jaar geleden
 
0 +1 -0 -1
Ik juist altijd blij met bezoekers... Dat is toch juist het doel van een website...
100 views in 6 uur... Dat is niks.
Ook leuk als mensen een proxy hebben! Stel dat er bijvoorbeeld 20 mensen van 1 school of bedrijf op je site komen. Dan moeten ze aardig doorklikken gezien ze gemiddeld maar 5 pagina's mogen zien...
Je moet het dan toch echt gaan combineren met cookies, gezien die clientside zijn. Maar zoals gezegd is dat makkelijk te omzeilen.
Al zou ik daar persoonlijk niet eens zin in hebben. Ga wel naar andere site...

Verder kan ik me aansluiten bij het bovenstaande commentaar.

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

Inhoudsopgave

  1. ip-loggerblokker-met-mysql

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.