Blokkeren link .htaccess

Status
Niet open voor verdere reacties.

degraaf

Gebruiker
Lid geworden
21 apr 2011
Berichten
9
Ik ben op zoek naar een code t.b.v. een .htaccess bestand om een verwijzing naar mijn website te blokkeren.

Simpel gezegd op website www.voorbeeld.nl wordt verwezen met een link naar mijn website.

Nu wil ik dat wanneer iemand op de link klikt van www.voorbeeld.nl naar mijn site doorverwezen wordt naar bijvoorbeeld www.google.nl en mijn site niet ziet. Dit om reden dat www.voorbeeld.nl een nogal obscure/ controversiele site is waar ik niet mee geassocieerd wil worden. Is dat mogelijk en zo ja hoe?

Ik heb wel iets soortgelijks gevonden voor deeplinken naar plaatjes, maar ik heb het niet kunnen ombouwen.

Hulp is zeer welkom.
 
IP-adres blokkeren

deze regels in je .htaccess:

order deny,allow
deny from 12.34.56.78
deny from 78.56.34.12
allow from all


Eerst worden de "deny from" ipadressen tegengehouden,
daarna alle andere toegelaten

Kwestie van even googlen op "htaccess inkomende links blokkeren"
 
Die had ik al gevonden, wat ik daar uit op maak is dat ik persoon X de toegang op IP niveau kan blokkeren.

Wat ik wil bewerkstelligen is het volgende: Iemand (wie dan ook) surft op de website www.voorbeeld.nl en vindt een link naar mijn site (www.mijnsite.nl/watdanook), wanneer iemand vanaf www.voorbeeld.nl doorverwezen wordt naar mijn site, wil ik deze zondermeer redirecten naar waar hij/zij vandaan komt of naar bijvoorbeeld www.google.nl. Dat bewerkstellig ik m.i. niet met een IP ban zoals verondersteld.
 
OK, ik had het doorverwijzen gemist.

Had je al iets gevonden met "htaccess" in combinatie met "RewriteCond" en "http_referer"?
dat zou het kunnen zijn
 
Daar ben ik inderdaad iets over tegengekomen, ook wat experimenten mee uitgevoerd, maar dan kom ik niet veel verder dan een feitelijk redirect. Dat wil zeggen wanneer men (al dan niet via de beruchte site welke ik wil blokkeren) www.mijnsite.nl bezoekt je omgerouterd wordt naar (bijvoorbeeld) www.google.nl.

Ik wil het zo hebben dat INDIEN men via een snelkoppeling op www.voorbeeld.nl NAAR www.mijnsite.nl gaat men dan en ALLEEN DAN omgeleid wordt naar de site van herkomst, in dit geval www.voorbeeld.nl

Met het volgende script kom ik wel een eindje, maar gaat verder dan ik zou willen. Namelijk ALLE externe verwijzingen naar www.mijnsite.nl worden dan omgeleid. Het is juist één site in het bijzonder welke ik wil blokkeren

RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?myspace\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?blogspot\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?livejournal\.com/ [NC]
RewriteRule .*\.(jpe?g|gif|bmp|png)$ http://img148.imageshack.us/img148/237/hotlinkp.gif [L]​

Een aantal varianten daar op ben ik wel tegengekomen maar niet wat ik zoek.
 
Ik weet niet of het met htaccess kan, maar je het kan wel met PHP door de referrer uit te lezen en in geval van website X een header te geven dat iemand weggestuurd moet worden. Je moet die code dan bovenaan elke pagina zetten (of iig bovenaan elke pagina waar naar gelinkt wordt) voordat je begint met <html>

PHP:
<?php
if ( $_SERVER['HTTP_REFERER'] == 'www.websitemetlink.nl/paginametlink.html' ) {
  header( 'Location: www.google.nl' );
  exit;
}
?>

Zoiets ongeveer :P Mocht het om de hele website gaan (omdat ze vanaf heel veel pagina's linken) kun je em nog wel aanpassen om het hele domein te blokkeren op deze manier:

PHP:
<?php
$website = 'www.websitemetlink.nl';
if ( stripos( $_SERVER['HTTP_REFERER'], $website ) !== false ) {
  header( 'Location: www.google.nl' );
  exit;
}
?>

Hoop dat je er wat aan hebt :P
 
@Frats het ziet er in in ieder geval op het eerste oog goed uit.

Beide varianten heb ik geprobeerd, maar het werkt niet. De pagina's van mijn site zijn in HTML, wellicht dat dit tegenwerkt? Wat ik gedaan heb is het volgende.

Van de betreffende pagina op mijn site heb ik de eerste regel zeven regels naar beneden geplaats en op regel 1 tot en met 6 jouw code geplaatst, uiteraard heb ik 'www.websitemetlink.nl' vervangen door 'www.tebannenlink.nl' (incl. '')

Regel 1 t/m 11 zien er nu als volgt uit:

PHP:
<?php
$website = 'www.tebannenlink.nl';
if ( stripos( $_SERVER['HTTP_REFERER'], $website ) !== false ) {
  header( 'Location: www.google.nl' );
  exit;
}
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

Vanaf regel 8 begint de oorspronkelijke pagina.

Er verandert echter niets. Uiteraard heb ik voor het testen met CC Cleaner alle history en bestanden verwijderd van mijn pc.

Zie ik nu wellicht iets over het hoofd?
 
Als het nog een gewone .htm pagina is, kan ie het inderdaad nooit doen.
De php-opdracht werkt alleen als de server weet dat er eerst een php-opdracht uitgevoerd moet worden, voordat de html-code naar de bezoeker gaat.
En de server weet dat, als de pagina een .php uitgang heeft.
Verder hoeft er niets te gebeuren: alleen de extensie wijzigen (hernoemen) van .htm of .html naar .php
Dan zou het moeten werken (tenzij de provider geen php er op heeft staan).

Met vriendelijke groet,
CSShunter
 
@ CSSHunter: dat was een stukje onvolledigheid mijnerzijds, de hele site is in HTML geschreven en dus de link naar site wijst ook hard naar een index.HTML bestand. Dit wijzigen in index.PHP heeft als gevolg dat de link van de te bannen site sowieso niet meer werkt, dat is prima, echter van andere sites ook niet meer en dat is niet prima.

@Berkery: Javascript ben ik niet erg in thuis. De volgende code heb ik gevonden

[JS]if (document.referrer != "") { var referringURL = document.referrer; var local = referringURL.substring(referringURL.indexOf("?"), referringURL.length); location.href = "http://page.com/login" + local; }[/JS]

Hoe en waar moet ik dit plaatsen in het index.html bestand en hoe en waar verwerk ik www.tebannensite.nl hierin met de redirect naar www.google.nl dat kan ik er niet in terugvinden. Kun je hier wellicht iets over aangeven of zijn er nog andere, waterdichte, opties?
 
Ik weet niet hoeveel controle je hebt over de server, anders zou je nog kunnen kijken of je de php parser aan kunt roepen voor .htm pagina's. Dat is namelijk een instelling ergens maar je kunt er mogelijk niet bij als je een goedkoop webhosting pakket hebt...

Anders zal het helaas niet werken :(
 
@Frats, geen idee wat een php parser is, laat staan hoe ik deze aan moet roepen. Wat heet goedkoop, ik heb het bij strato ondergebracht. Het zogeheten "PowerWeb" en deze ondersteunt, aldus de specificaties, PHP5. Ik heb niets kunnen terugvinden over een PHP parser o.i.d.
 
@Berkery: Javascript ben ik niet erg in thuis. De volgende code heb ik gevonden

Hoe en waar moet ik dit plaatsen in het index.html bestand en hoe en waar verwerk ik www.tebannensite.nl hierin met de redirect naar www.google.nl dat kan ik er niet in terugvinden. Kun je hier wellicht iets over aangeven of zijn er nog andere, waterdichte, opties?

Ik ben er ook niet zo in thuis, maar ben toch al de hele week in JS aan het prutsen, dit heb ik er van gemaakt:

Code:
<script language="JavaScript">
if ((document.referrer.indexOf("www.tebannensite.nl") > -1)) {
location.href = "http://www.google.nl";  
}
</script>
Maar je blijft altijd afhankelijk van de browser, of deze de referer wel doorgeeft, maar de meeste doen dat standaard wel. Je zult dus geen 100& waterdichte manier kunnen maken, maar meer dan 90% moet wel lukken.

Oh, en het maakt niet zoveel uit waar je dit in de pagina neerzet, maar een goede gewoonte is om het in het <head>-gedeelte te zetten.
 
Laatst bewerkt:
Briljant Berkery, dat werkt en voor mij is 90% voor nu voldoende.
Thnx!!
 
Laatst bewerkt:
Hoi degraaf,
Je zou uit het javascript ook nog de www. kunnen weghalen, dus:
  • document.referrer.indexOf("tebannensite.nl")
dan komen ook de verwijzingen niet door als men van http://tebannensite.nl zonder www. ervoor komt.
 
Hé, merkwaardig! :rolleyes:
Misschien omdat er staat: <script language="JavaScript"> i.p.v. <script type="text/javascript">? En/of de >-1?
Ik heb dit script in een testpagina gezet:
[JS]<script type="text/javascript">
alert('U komt van: '+document.referrer);
if (document.referrer.indexOf("developerscorner.nl") != -1) {
location.href = "http://www.google.nl/search?q=block+referrer";
}
</script>[/JS]
En dan gebeurt er dit:
Met vriendelijke groet,
CSShunter
____________
PS: Misschien staat er in de Google nog wat bruikbaars om het via htaccess te doen.
 
Ik heb gezien wat je gedaan hebt csshunter.

Ik heb deze code geplaatst:

[JS]//--> </script>
<script language="JavaScript">
if ((document.referrer.indexOf("http://tebannensite.nl") > -1)) {
location.href = "http://tebannensite.nl";
}
</script>[/JS]

Met deze code wordt dege die op vanaf de tebannensite.nl naar mijn site gaat direct en zonder tussenstap 'teruggestuurd' naar de tebannensite.nl.

Ik wil het .htaccess nog wel eens verder uitzoeken, met javascript loop ik de kans het op elke pagina te moeten plaatsen en daar had ik niet veel belangstelling voor.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan