Avatar billede gyxi Nybegynder
30. juni 2007 - 14:48 Der er 6 kommentarer og
2 løsninger

Tillad kun underbibliotek

Der er nogle båndbredde-tyve som hotlinker til mine billeder. Jeg vil gerne lade dem hotlinke til thumbnails, men ikke til selve billederne. Jeg har fundet et program (til $99) der kan afgøre ud fra en regular expression, hvilke filer der skal blokeres og hvilke der skal tillades.

Jeg har lavet følgende, som angiver hvilke filer, inklusive deres stier, som skal blokeres:

@.*\.(jpg|gif|png|wmv|avi|mpg|mpeg)

Den betyder alle billeder og videoer bliver blokeret. F.eks. bliver følgende blokeret:

www.mitsite.dk/Files/Public/mitbillede.jpg

Jeg vil dog gerne tillade at thumbnails bliver vist fra andre sites. De ligger her:

www.mitsite.dk/Files/Public/__thumbnails/mitbillede.jpg

Nogen der vil hjælpe mig og udvide ovenstående regular expression til at omfatte alle stier med filer som ikke omfatter en mappe der hedder "__thumbnails"?

Håber på jeres hjælp.
Avatar billede roenving Novice
30. juni 2007 - 18:26 #1
Hvad med den simple, at gøre alle dine thumbnails til gif-billeder (og selvfølgelig undgå at bruge den slags ellers !-), og så fjerne gif-muligheden i listen ?-)
Avatar billede thesurfer Nybegynder
30. juni 2007 - 19:48 #2
Jeg mener at jeg før har set, at man bruger ".htaccess" filen, til at begrænse adgangen..

Jeg er ikke sikker, men det kræver vist at man bruger PHP, eller i det mindste, en Apache server.

Alternativet kan være, at bruge serverside scriptsprog, som f.eks. ASP (eller PHP), til at vise billederne. Her kan du nemlig lave den begræsning, at man skal være på siden, før man kan loade billedet.. Det sker i form af eget-kodet-referer.

Man kan nemlig ikke stole på, at referer sendes med..

Man kan også (via scriptet) kræve at referer sendes med, for overhovedet at vise billedet.

Ellers søg på noget i stil med: "anti-leech", evt i kombination med ordet "script"..
Avatar billede gyxi Nybegynder
02. juli 2007 - 08:29 #3
Tak for jeres konstruktive forslag, men det er på et kørende system, så der er ikke den store mulighed for at lave noget større om i opbygningen af det. Den løsning jeg har fundet mener jeg er den bedste - jeg mangler bare en regular expression :)
Avatar billede tmi Nybegynder
14. juli 2007 - 13:11 #4
Skal du have en expression for tilladte eller for ikke tilladte??
Tilladte må vel være
/__thumbnails/[^/]+\.(jpg|gif|png|wmv|avi|mpg|mpeg)$
Det omvendte, altså ikke tilladte må vel så være
(?<!/__thumbnails)/[^/]+\.(jpg|gif|png|wmv|avi|mpg|mpeg)$

Hvis der er flere mapper under thumbnails kan [^/]+ byttes ud med fx .* som du havde før
Avatar billede gyxi Nybegynder
16. juli 2007 - 19:51 #5
Hej tmi

Effekten af begge strenge er, at alle billeder kan vises fra andre steder. Altså, strengen definerer hvilke billeder der ikke må vises. I strengen skal altså inkluderes www.mitsite.dk/Files/Public/mitbillede.jpg men ikke www.mitsite.dk/Files/Public/__thumbnails/mitbillede.jpg

Man kan sige: Strengen skal inkludere alle stier hvor "__thumbnails" IKKE indgår.
Avatar billede tmi Nybegynder
17. juli 2007 - 08:25 #6
Hvis du byttede [^/] ud med .* som jeg foreslog virker det ikke med den pattern, hvor __thumbnails ikke må indgå. Det er MEGET lættere at løse problemet, hvis du skal angive der hvor ___thumbnails SKAL indgå ;-)
Du kan løse problemet, hvis __thumbnails altid ligger lige efter Public:

/Public(?!/__thumbnails)/.*\.(jpg|gif|png|wmv|avi|mpg|mpeg)$

Det skyldes at .* kan være 0,1,2,3,4,.. tegn, så derfor vil det altid være muligt at sætte punktum, således at __thumbnails ikke kommer lige før, men måske et andet sted. Så derfor skal du angive den mappe, der ligger før __thumbnails, hvor jeg nu har skrevet /Public i udtrykket.
Avatar billede gyxi Nybegynder
17. juli 2007 - 17:18 #7
Det virker helt perfekt. Mange tak tmi. Der var godt nok flere mapper end Public, men der var også mulighed for at tilføje flere filtre.

Nu er det slut med at betale for båndbredde som andre bruger!
Avatar billede tmi Nybegynder
17. juli 2007 - 22:13 #8
:-) Ellers kan du jo ændre Public til (Public|Andenmappe) ;-)
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
Kurser inden for grundlæggende programmering

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