Avatar billede tanx Nybegynder
04. september 2004 - 12:04 Der er 8 kommentarer og
1 løsning

Forhindre adgang til site ved mange forespørgelser

Hejsa,

Jeg er i færd med at udvikle et site der kommer til at indeholde en lang række adresseinformation (20.000+) - I den forbindelse er jeg interesseret i at høre om der er nogen der kender til en metode til at forhindre folk, med urent mel i posen, i at "kopiere" indholdet af sitet, f.eks med en bot eller en crawler el. lign. Google og andre søgemaskiner skal naturligvis fortsat have adgang til sitet.

Jeg ved, at man kan gå ind og definere i html'en hvem der skal komme forbi og hvor tit osv., men rent teknisk er det jo ikke den største forhindring at komme uden om. Derfor lurede jeg på om der eksisterer et script el. lign der går ind og forbyder adgang til bestemte ip-adresser, hvis der har været usædvanligt mange forespørgelser?

Mvh,
Kristian
Avatar billede arne_v Ekspert
04. september 2004 - 12:09 #1
Det lyder som om du vil logge antal requests per IP adresse og f.eks.
kun tillade max. 5/10/20 og så cleare data om natten så man starter
på en frisk hver morgen.
Avatar billede tanx Nybegynder
04. september 2004 - 12:38 #2
lige præcist - er det overhovedet muligt rent teknisk? Og så samtidigt også definere udvalgte ipadresser (søgemaskiner mv.) at de har adgang?
Avatar billede arne_v Ekspert
04. september 2004 - 17:51 #3
Selvfølgelig er det muligt.

Den simple løsning er at lave en database tabel med 2 felter IP adresse  og
counter.

For hver request checker du først counter for IP adressen, hvis over limit
så giver du fejl, ellers ligger du 1 til counter og fortsætter.

Et natlig job sletter så alle records i tabellen.

Det koster lidt ekstra database aktivitet men er lige ud af landevejen.

En mere avanceret løsning ville være at opbevare counterne i memory. Jeg er
sikker på at man også kan lave det i PHP. Men jeg er ikke helt sikker op
præcis hvordan (jeg er ikke selv den store PHP haj). Det vil være hurtigere
end database løsningen. Men vil dog også resette ved et crash.
Avatar billede arne_v Ekspert
07. september 2004 - 15:52 #4
OK ?
Avatar billede arne_v Ekspert
11. september 2004 - 20:52 #5
Kommet videre ?
Avatar billede tanx Nybegynder
13. september 2004 - 17:33 #6
hej arne

tusinde tak for svar og sorry jeg først melder tilbage nu.
det lyder som en rigtig god idé med database-løsningen. vil det være krævende for serveren ved f.eks. 10000 databaseopslag pr. dag?
Avatar billede arne_v Ekspert
13. september 2004 - 17:56 #7
slet ikke
Avatar billede arne_v Ekspert
14. september 2004 - 07:54 #8
10000/dag = 417/time = 7/minuttet
Avatar billede tanx Nybegynder
14. september 2004 - 22:02 #9
ja, det lyder jo ikke af så meget så :) tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester