.htaccess - Authenticatie m.u.v. Google als UserAgent?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • chronoz
  • Registratie: Maart 2010
  • Laatst online: 09-10-2022
Is het mogelijk om authenticatie via .htaccess alleen te verplichten indien Google niet de HTTP_USER_AGENT is?

Heb al veel op internet gezocht en daar zie je steeds mensen komen met 'RewriteCond', maar dat zal alleen werken voor daadwerkelijke rewrite-rules en niet voor het authenticatie gedeelte.

Ook heb ik al de BrowserMatch directive gebruikt, maar dat werkte bij mij ook niet. Misschien doe ik iets verkeerds?

Het uiteindelijk doel is om de website members-only te maken met uitzondering van Google.

code:
1
2
3
4
5
6
7
########### AMEMBER START #####################
AuthType Basic
AuthName "Members Only"
AuthUserFile /home/username/domains/domein.be/public_html/amember/data/.htpasswd
AuthGroupFile /home/username/domains/domein.be/public_html/amember/data/.htgroup
Require valid-user
########### AMEMBER FINISH ####################

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

offtopic:
Nu weet ik niet wat de doelgroep van je site is, maar een Google-useragent heb ik in twee seconden ingesteld in m'n browser.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • chronoz
  • Registratie: Maart 2010
  • Laatst online: 09-10-2022
Je hebt daar een goed punt en het is inderdaad niet vlekkeloos, maar ik verlies liever 5% van potentiële klanten die weten hoe ze gratis het betaalde gedeelte kunnen bezoeken, dan dat ik de 2000 dagelijks bezoekers via Google verlies.

Acties:
  • 0 Henk 'm!

  • ieperlingetje
  • Registratie: September 2007
  • Niet online
Mensen kunnen dan toch je content opvragen via de google cache?

Tijdmachine | Nieuws trends


Acties:
  • 0 Henk 'm!

  • chronoz
  • Registratie: Maart 2010
  • Laatst online: 09-10-2022
ieperlingetje schreef op vrijdag 05 november 2010 @ 15:04:
Mensen kunnen dan toch je content opvragen via de google cache?
Niet voor image galerijen volgens mij. Volgens mij worden er bij afbeeldingen vaak nog wel verwezen naar de directe bron.

Het is wel mogelijk om de user-agent in de browser te wijzigen naar Google om op die manier de beveiliging te omzeilen.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 20:49

Janoz

Moderator Devschuur®

!litemod

Het handigste is om een lijstje met eisen op te nemen en vervolgens middels "Satisfy Any" aangeven dat iemand toegang heeft zodra aan 1 van de eisen wordt voldaan. Ik gebruik het zelf om er voor te zorgen dat ik op mijn webserver thuis moet inloggen, tenzij ik vanaf het lokale netwerk kom.

Toen ik even ging googlen op Satisfy All kwam ik trouwens een voorbeeld tegen van precies hetgeen jij wilt, en dan nog een stuk robuster ook: http://www.evolt.org/ultimate_htaccess_examples

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 02:06

MueR

Admin Devschuur & Discord

is niet lief

Wat een ranzige aanpak. Waarom maak je niet gewoon paginas op een publiek deel waarmee je Google genoeg vertelt over je site? Dit soort praktijken vind Google helemaal niet lief en kan je een penalty opleveren. Zie bijvoorbeeld deze pagina. De enige manier waarop Google dit soort dingen doet is via hun Search Appliance.

[ Voor 17% gewijzigd door MueR op 05-11-2010 15:53 ]

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Alles wat door Google geindexeerd mag worden, hoeft blijkbaar niet afgeschermd te worden. Klaar.

{signature}


Acties:
  • 0 Henk 'm!

  • steffex
  • Registratie: Augustus 2003
  • Laatst online: 12-08 00:24
MueR schreef op vrijdag 05 november 2010 @ 15:50:
Wat een ranzige aanpak. Waarom maak je niet gewoon paginas op een publiek deel waarmee je Google genoeg vertelt over je site? Dit soort praktijken vind Google helemaal niet lief en kan je een penalty opleveren. Zie bijvoorbeeld deze pagina.
helemaal mee eens, echter is het wel mogelijk:

code:
1
2
3
4
5
6
7
8
SetEnvIfNoCase User-Agent .*google.* search_robot
SetEnvIfNoCase User-Agent .*yahoo.* search_robot
SetEnvIfNoCase User-Agent .*bot.* search_robot
SetEnvIfNoCase User-Agent .*ask.* search_robot
 
Order Deny,Allow
Deny from All
Allow from env=search_robot

Acties:
  • 0 Henk 'm!

  • Afvalzak
  • Registratie: Oktober 2008
  • Laatst online: 31-08 12:02

Afvalzak

Zet jij mij even buiten?

steffex schreef op vrijdag 05 november 2010 @ 15:53:
[...]


helemaal mee eens, echter is het wel mogelijk:

code:
1
2
3
4
5
6
7
8
SetEnvIfNoCase User-Agent .*google.* search_robot
SetEnvIfNoCase User-Agent .*yahoo.* search_robot
SetEnvIfNoCase User-Agent .*bot.* search_robot
SetEnvIfNoCase User-Agent .*ask.* search_robot
 
Order Deny,Allow
Deny from All
Allow from env=search_robot
Het is zeker mogelijk, een tijd geleden had je bijvoorbeeld XpertsXchange o.i.d. waar allemaal vragen op staan en de antwoorden waren overlayed zodat je ze alleen bij inloggen kon lezen.
Google indexeerde de vragen en de antwoorde alleen wel. Daardoor moeten ze ze nu beiden tonen of ze worden niet geindexeerd.
(Er staat nu 1 meter reclame tussen de vraag en antwoord maar dat maakt niet uit;))

ofwel, ik zou nogmaals nagaan of je dit echt wilt.

Last.fm | Code Talks


Acties:
  • 0 Henk 'm!

  • DexterDee
  • Registratie: November 2004
  • Laatst online: 18:21

DexterDee

I doubt, therefore I might be

Een redelijk waterdichte methode is het opvragen van de reverse-DNS naam van het request IP en deze DNS naam vervolgens terug naar een IP te resolven:

1: Een request met useragent GoogleBot wordt gedaan
2: Het ip adres van dit request is bijv. 66.249.66.1
3: Doe een reverse DNS lookup op dat ip, je krijgt dan bijv. crawl-66-249-66-1.googlebot.com
4: Resolve crawl-66-249-66-1.googlebot.com naar een IP adres
5: krijg je het adres in stap 2 terug (66.249.66.1) dan is het een legitieme GoogleBot

Het lijkt me sterk dat je dit in een .htaccess voor elkaar krijgt, maar met een PHP scriptje is dit niet moeilijk te realiseren.

Klik hier om mij een DM te sturen • 3245 WP op ZW


Acties:
  • 0 Henk 'm!

  • steffex
  • Registratie: Augustus 2003
  • Laatst online: 12-08 00:24
je kunt ook nog even kijken naar "first-click free" principe!

http://googlewebmastercen...-free-for-web-search.html

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:22

Creepy

Tactical Espionage Splatterer

DexterDee schreef op vrijdag 05 november 2010 @ 16:03:
Een redelijk waterdichte methode is het opvragen van de reverse-DNS naam van het request IP en deze DNS naam vervolgens terug naar een IP te resolven:

1: Een request met useragent GoogleBot wordt gedaan
2: Het ip adres van dit request is bijv. 66.249.66.1
3: Doe een reverse DNS lookup op dat ip, je krijgt dan bijv. crawl-66-249-66-1.googlebot.com
4: Resolve crawl-66-249-66-1.googlebot.com naar een IP adres
5: krijg je het adres in stap 2 terug (66.249.66.1) dan is het een legitieme GoogleBot

Het lijkt me sterk dat je dit in een .htaccess voor elkaar krijgt, maar met een PHP scriptje is dit niet moeilijk te realiseren.
Reverse DNS lookup aanzetten in Apache en het volgende opnemen:
Allow from googlebot.com
Overigens wordt dat allemaal prima uitgelegd in de link die Janoz geeft.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

Volgens mij is Google er helemaal niet blij mee als de googlebot een andere pagina voorgeschoteld krijgt dan een normale bezoekers. Ze hebben ook anonieme bots rondkruipen die dit soort verschillen opmerken. Vanuit SEO oogpunt lijkt het me geen goed idee: goede kans op penalties.
Pagina: 1