ip Block scriptje
iemand die mij kan helpen?
database maken, die je update met het ip adres ($_SERVER['REMOTE_ADDR']) zodra iemand er op komt, en gewoon een ifje maken aan het begin van de pagina die kijkt of ip adres gelijk is aan de gene in de datbase...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
// Stap 1: Bepaal IP bezoeker
$ip = $_SERVER['REMOTE_ADDR'];
// Stap 2: Controleer of IP voorkomt in DB
$sql = "SELECT ip FROM database_tabel WHERE ip = '".$ip."'" // Voorbeeld
$res = mysql_query($sql);
if(!$res){
echo 'Er is een fout opgetreden: '.mysql_error();
} else {
// Controleer of het ip-adres voorkomt in db
if(mysql_num_rows($res)==1) {
// Bezoeker heeft pagina al gezien -> doorsturen naar andere pagina
header("location:index.php');
} else {
// IP opslaan in database en eenmalig pagina tonen
}
}
?>
// Stap 1: Bepaal IP bezoeker
$ip = $_SERVER['REMOTE_ADDR'];
// Stap 2: Controleer of IP voorkomt in DB
$sql = "SELECT ip FROM database_tabel WHERE ip = '".$ip."'" // Voorbeeld
$res = mysql_query($sql);
if(!$res){
echo 'Er is een fout opgetreden: '.mysql_error();
} else {
// Controleer of het ip-adres voorkomt in db
if(mysql_num_rows($res)==1) {
// Bezoeker heeft pagina al gezien -> doorsturen naar andere pagina
header("location:index.php');
} else {
// IP opslaan in database en eenmalig pagina tonen
}
}
?>
Gewijzigd op 07/12/2010 18:09:37 door TNG -
Asare asare op 07/12/2010 17:50:51:
dat was eigenlijk het gedeelte wat me was gelukt, wat me niet lukte was de ip adressen opslaan, uitlezen en gebruiken
Bekijk/lees/volg een mysql-tutorial.
Je moet je afvragen of het slim is om iemand te blokkeren op basis van het IP adres. Stel een bedrijf met 500 werknemers heeft 1 IP adres. Eén werknemer bekijkt de betreffende pagina... en de overige 499 werknemers kunnen die pagina dan niet meer zien.
Ozzie PHP op 07/12/2010 22:26:11:
Je moet je afvragen of het slim is om iemand te blokkeren op basis van het IP adres. Stel een bedrijf met 500 werknemers heeft 1 IP adres. Eén werknemer bekijkt de betreffende pagina... en de overige 499 werknemers kunnen die pagina dan niet meer zien.
En sowieso is het simpel te omzeilen.
wat zou dan wel een goeie oplossing zijn om dit slim aan te pakken?
wat wil je bereiken als ik vragen mag? waarom wil je een pagina die iemand maar 1 keer kan bezoeken?
Ozzie PHP op 08/12/2010 00:01:32:
wat wil je bereiken als ik vragen mag? waarom wil je een pagina die iemand maar 1 keer kan bezoeken?
Je hebt wel is websites waar men eenmalig de gebruikersovereenkomst moet accepteren via zijn ip. Dit wil je niet ieder bezoek laten doen dus dan is dit wel handig.
Ik weet niet of je in Php serials van de computer kan controleren maar ik ben zelf een c# programmeur en daar kan je de proccesor id en harddisk id combineren zodat je 1 unieke serial hebt. Die gebruik ik altijd om te zorgen dat iets maar 1 keer gebruikt kan worden. Zo kan iedereen in het huis de applicatie proberen aangezien het niet op basis is van het Ip Adres.
Gewijzigd op 08/12/2010 01:21:20 door Dennis Opdam
Asare asare op 07/12/2010 23:41:16:
Pagina pas laten zien na registratie (username/password) en daarmee kan je dus zorgen dat iemand een pagina maar 1x ziet.wat zou dan wel een goeie oplossing zijn om dit slim aan te pakken?
Laten we even wachten totdat Asare asare uitlegt wat hij precies wil bereiken. Misschien gaat het wel simpelweg om een advertentie die maar 1x getoond mag worden? Speculeren heeft weinig zin. Als Asare x2 even zegt wat zijn bedoeling is dan kunnen we hem vooruit helpen.
dus je kan wel 1 keer stemmen maar het gaat er om dat je ook niet meer lastig gevalt wordt door die pagina als je de website bezoekt
Oke, dan kun je in ieder geval gebruik maken van een sessie die bijhoudt of de betreffende pagina al een keer is bezocht. Tevens kun je een cookie wegschrijven waarin staat dat de pagina is bezocht. Sessies en cookies is dus waar je gebruik van kunt maken.
Dennis Opdam op 08/12/2010 01:20:53:
Je hebt wel is websites waar men eenmalig de gebruikersovereenkomst moet accepteren via zijn ip. Dit wil je niet ieder bezoek laten doen dus dan is dit wel handig.
Ik weet niet of je in Php serials van de computer kan controleren maar ik ben zelf een c# programmeur en daar kan je de proccesor id en harddisk id combineren zodat je 1 unieke serial hebt. Die gebruik ik altijd om te zorgen dat iets maar 1 keer gebruikt kan worden. Zo kan iedereen in het huis de applicatie proberen aangezien het niet op basis is van het Ip Adres.
Ozzie PHP op 08/12/2010 00:01:32:
wat wil je bereiken als ik vragen mag? waarom wil je een pagina die iemand maar 1 keer kan bezoeken?
Je hebt wel is websites waar men eenmalig de gebruikersovereenkomst moet accepteren via zijn ip. Dit wil je niet ieder bezoek laten doen dus dan is dit wel handig.
Ik weet niet of je in Php serials van de computer kan controleren maar ik ben zelf een c# programmeur en daar kan je de proccesor id en harddisk id combineren zodat je 1 unieke serial hebt. Die gebruik ik altijd om te zorgen dat iets maar 1 keer gebruikt kan worden. Zo kan iedereen in het huis de applicatie proberen aangezien het niet op basis is van het Ip Adres.
Toevallig van die software om bezoekers te generen via een .exe? Simpel proxy lijstje waarmee je vervolgens een aantal browsers opent? Was anders verdomde simpel geprogrammeert, iedereen met een beetje basis kennis kan dat.. Zou overigens nog eens naar je beveiliging kijken, gaan verhalen de ronde dat het best makkelijk is om alles uit te lezen.. (als jij die hitbooster niet hebt gemaakt, excuses ;-))
@Chris... waar heb je het nu ineens over??? (en wat schiet de TS hier mee op :-))
Ozzie PHP op 08/12/2010 10:44:14:
Oke, dan kun je in ieder geval gebruik maken van een sessie die bijhoudt of de betreffende pagina al een keer is bezocht. Tevens kun je een cookie wegschrijven waarin staat dat de pagina is bezocht. Sessies en cookies is dus waar je gebruik van kunt maken.
@Ozzie: alleen cookies. Een sessie niet, die is weg zodra je de browser sluit of zodra apache de sessie opruimt. Verder is het zo dat een cookie ook opgeruimd kan worden door de gebruiker zelf. Weinig zekerheid dus.
@John: tuurlijk ook sessie!! Indien de browser geen cookies accepteert werkt deze optie niet en zou de bezoeker telkens weer de betreffende pagina te zien krijgen. Sessies werken altijd en zorgen er in ieder geval voor dat gedurende de sessie de betreffende pagina niet meer wordt getoond. Dus ja, wel degelijk sessie gebruiken.
Ozzie PHP op 08/12/2010 11:28:17:
However dat is slechts voor de lopende sessie. Sluit je de browser af en je kijkt 5 min later weer met een nieuwe browser(sessie) dan gaat het al niet meer op, kan je dus weer pollen!! Snel te omzeilen dus en dat zal TS niet willen. De poll kan dan zo ongewenst gemanipuleerd worden. Een cookie is een relatief goede oplossing maar ook te omzeilen! Ook daar zal TS niet op zitten te wachten.@John: tuurlijk ook sessie!! Indien de browser geen cookies accepteert werkt deze optie niet en zou de bezoeker telkens weer de betreffende pagina te zien krijgen. Sessies werken altijd en zorgen er in ieder geval voor dat gedurende de sessie de betreffende pagina niet meer wordt getoond. Dus ja, wel degelijk sessie gebruiken.
Ja ik begrijp dat dat voor een lopende sessie is, maar daarom moet je het niet uitsluiten!
daarom leek het mij een goed idee om een ip validatie te gebruiken, dit is nog steeds te omzeilen maar voor de doelgroep die ik wil berijken denk ik niet dat heel erg uitmaakt.