HighDots Forums  

HTTP-Referrer blockieren

Javascript (German) Programmiersprache JavaScript. (de.comp.lang.javascript)


Discuss HTTP-Referrer blockieren in the Javascript (German) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
K. de Cassan
 
Posts: n/a

Default HTTP-Referrer blockieren - 10-15-2004 , 01:55 PM






LiLi,

habe da ein Problem:

Ein Domain-Grabber leitet per HTTP-Referrer auf meine Site um. Ein
freundlicher Hinweis, dies zu unterlassen, stört ihn leider nicht. Im
WEB habe ich mir folgendes JS herausgesucht, was aber leider nicht wirkt:

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var refarray = new Array();
refarray['domain1.com'] = "http://www.able2know.com/pagefordomain1.htm";
refarray['domain2.com'] = "http://www.able2know.com/pagefordomain2.htm";
refarray['domain3.com'] = "http://www.able2know.com/pagefordomain3.htm";
for (var i in refarray) {
if (document.referrer.indexOf(i) != -1)
window.location.replace(refarray[i]);
}
// End -->
</script>

Für domain1.com habe ich die "Grabber-Domain" eingesetzt und als URL den
oben aufgeführten (http://www.able2know.com/pagefordomain1.htm)
belassen. Wo könnte der Fehler liegen?

Danke

Klaus


Reply With Quote
  #2  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: HTTP-Referrer blockieren - 10-15-2004 , 04:55 PM






K. de Cassan wrote:
^^
Da fe lt was.

Quote:
LiLi,
Wie bitte?

Quote:
Ein Domain-Grabber leitet per HTTP-Referrer auf meine Site um. Ein
freundlicher Hinweis, dies zu unterlassen, stört ihn leider nicht.
Deshalb solltest Du Dich bei seinem Provider und ggf. beim Registrar
beschweren. Siehe deren AGBs.

Quote:
Im WEB habe ich mir folgendes JS herausgesucht, was aber leider nicht
wirkt:
Natürlich nicht. Copy & Paste reicht nicht, es muss auch mit Sinn &
Verstand geschehen. [psf 4.9]

Außerdem:

Quote:
SCRIPT LANGUAGE="JavaScript"
<script type="text/javascript">

Quote:
!-- Begin
Veraltet und daher überflüssig

Quote:
var refarray = new Array();
refarray['domain1.com'] = "http://www.able2know.com/pagefordomain1.htm";
refarray['domain2.com'] = "http://www.able2know.com/pagefordomain2.htm";
refarray['domain3.com'] = "http://www.able2know.com/pagefordomain3.htm";
Hier wird keine Eigenschaft des Array-Prototyps benutzt, deshalb genügt:

var ref = new Object();
ref["domain1.com"] = "...";
ref["domain2.com"] = "...";
ref["domain3.com"] = "...";

oder (ab ECMAScript 3):

var ref = {
"domain1.com": "...",
"domain2.com": "...",
"domain3.com": "..."
}

Quote:
for (var i in refarray) {
if (document.referrer.indexOf(i) != -1)
^^^^^^^^^^^^^^^^^
document.referrer bezieht sich, wenn es unterstützt wird (die Eigenschaft
ist proprietär) auf den HTTP-Referrer-Header. Dieser wird jedoch nicht
immer (korrekt) übermittelt. Deswegen ist diese Methode hochgradig
unzuverlässig.

Quote:
window.location.replace(refarray[i]);
^^^^^^^^^^^^^^^^
<http://pointedears.de/scripts/test/whatami>

Quote:
}

// End --
Veraltet und daher überflüssig

Quote:
/script

Für domain1.com habe ich die "Grabber-Domain" eingesetzt und als URL den
oben aufgeführten (http://www.able2know.com/pagefordomain1.htm)
belassen. Wo könnte der Fehler liegen?
Entweder hast Du <http://glasgoogle.de/> nicht gelesen, oder clientseitiges
Scripting ist deaktiviert.

Das ist aber auch egal: Diese Lösung ist keine. Solange wie Deine
Beschwerden nicht fruchten, konfiguriere Deinen Webserver geeignet.
Nur serverseitige Tricks helfen hier wirklich. Zu Risiken und
Nebenwirkungen befrage Deinen Provider und die Webserver-Dokumentation.


PointedEars


Reply With Quote
  #3  
Old   
K. de Cassan
 
Posts: n/a

Default Re: HTTP-Referrer blockieren - 10-16-2004 , 07:45 PM



Danke Thomas, für die fundierte Antwort. Ich bin kein JS-Experte und mir
wurde das Script von meinem Provider empfohlen, da angeblich eine
Serverseitige Lösung nicht möglich sei. Jetzt bin ich zwar schlauer,
aber das Problem ist noch nicht gelöst.

Grüße

Klaus

P.S. "LiLi" heißt "liebe Liste"

Thomas 'PointedEars' Lahn schrieb:

Quote:
K. de Cassan wrote:
^^
Da fe lt was.



LiLi,



Wie bitte?



Ein Domain-Grabber leitet per HTTP-Referrer auf meine Site um. Ein
freundlicher Hinweis, dies zu unterlassen, stört ihn leider nicht.



Deshalb solltest Du Dich bei seinem Provider und ggf. beim Registrar
beschweren. Siehe deren AGBs.



Im WEB habe ich mir folgendes JS herausgesucht, was aber leider nicht
wirkt:



Natürlich nicht. Copy & Paste reicht nicht, es muss auch mit Sinn &
Verstand geschehen. [psf 4.9]

Außerdem:



SCRIPT LANGUAGE="JavaScript"



script type="text/javascript"



!-- Begin



Veraltet und daher überflüssig



var refarray = new Array();
refarray['domain1.com'] = "http://www.able2know.com/pagefordomain1.htm";
refarray['domain2.com'] = "http://www.able2know.com/pagefordomain2.htm";
refarray['domain3.com'] = "http://www.able2know.com/pagefordomain3.htm";



Hier wird keine Eigenschaft des Array-Prototyps benutzt, deshalb genügt:

var ref = new Object();
ref["domain1.com"] = "...";
ref["domain2.com"] = "...";
ref["domain3.com"] = "...";

oder (ab ECMAScript 3):

var ref = {
"domain1.com": "...",
"domain2.com": "...",
"domain3.com": "..."
}



for (var i in refarray) {
if (document.referrer.indexOf(i) != -1)


^^^^^^^^^^^^^^^^^
document.referrer bezieht sich, wenn es unterstützt wird (die Eigenschaft
ist proprietär) auf den HTTP-Referrer-Header. Dieser wird jedoch nicht
immer (korrekt) übermittelt. Deswegen ist diese Methode hochgradig
unzuverlässig.



window.location.replace(refarray[i]);


^^^^^^^^^^^^^^^^
http://pointedears.de/scripts/test/whatami



}





// End --



Veraltet und daher überflüssig



/script

Für domain1.com habe ich die "Grabber-Domain" eingesetzt und als URL den
oben aufgeführten (http://www.able2know.com/pagefordomain1.htm)
belassen. Wo könnte der Fehler liegen?



Entweder hast Du <http://glasgoogle.de/> nicht gelesen, oder clientseitiges
Scripting ist deaktiviert.

Das ist aber auch egal: Diese Lösung ist keine. Solange wie Deine
Beschwerden nicht fruchten, konfiguriere Deinen Webserver geeignet.
Nur serverseitige Tricks helfen hier wirklich. Zu Risiken und
Nebenwirkungen befrage Deinen Provider und die Webserver-Dokumentation.


PointedEars




Reply With Quote
  #4  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: HTTP-Referrer blockieren - 10-17-2004 , 03:37 AM



K. de Cassan wrote:
^^
Da sollte "Klaus" statt "K." stehen, wenn Du hier ernstgenommen werden
willst.

Quote:
Ich bin kein JS-Experte und mir wurde das Script von meinem Provider
empfohlen, da angeblich eine Serverseitige Lösung nicht möglich sei.
ACK

Quote:
Jetzt bin ich zwar schlauer, aber das Problem ist noch nicht gelöst.
Ich fasse also meine erste Antwort zusammen:

<script type="text/javascript">
var newDomain = "http://www.able2know.com";
var*ref*=*new*Object();
ref["domain1.com"] = newDomain + "/pagefordomain1.htm";
ref["domain2.com"] = newDomain + "/pagefordomain2.htm";
ref["domain3.com"] = newDomain + "/pagefordomain3.htm";

if (document.referrer && window.location)
{
for (var i in ref)
{
if (document.referrer.indexOf(i) != -1)
{
if (window.location.replace)
{
window.location.replace(ref[i]);
}
else
{
window.location = ref[i];
}
}
}
}
</script>

(Es geht noch effizienter, z.B. mit Regulären Ausdrücken, das ist dann
aber nicht mehr uneingeschränkt abwärtskompatibel.)

Dies ist aber keine *verläßliche* programmiertechnische Lösung, denn
a) kann clientseitiges Scripting und b) kann document.referrer nicht
unterstützt werden.

Beschwere Dich also zusätzlich, wie schon empfohlen, beim Provider des
Domaingrabbers und/oder wechsle selbst zu einem Provider, der eine
serverseitige Lösung ermöglicht. Was der Domaingrabber da tut, dürfte
gegen die AGB seines Providers verstoßen.

Quote:
P.S. "LiLi" heißt "liebe Liste"
Dies ist eine Usenet-Newsgroup, keine Mailingliste:

<http://einklich.net/usenet/usenet1.htm> ff.

Quote:
[TOFU]
Bitte beherzige <http://got.to/quote>, wir sind hier nicht bei Jeopardy[tm].


PointedEars
--
Zukunft wird nur möglich sein, wenn wir lernen, auf
Dinge zu verzichten, weil wir sie nicht brauchen.
-- Günther Grass


Reply With Quote
  #5  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: HTTP-Referrer blockieren - 10-17-2004 , 03:41 AM



K. de Cassan wrote:
^^
Da sollte "Klaus" statt "K." stehen, wenn Du hier ernstgenommen werden
willst.

Quote:
Ich bin kein JS-Experte und mir wurde das Script von meinem Provider
empfohlen, da angeblich eine Serverseitige Lösung nicht möglich sei.
ACK

Quote:
Jetzt bin ich zwar schlauer, aber das Problem ist noch nicht gelöst.
Ich fasse also meine erste Antwort zusammen:

<script type="text/javascript">
if (document.referrer && window.location)
{
var newDomain = "http://www.able2know.com";
var*ref*=*new*Object();
ref["domain1.com"] = newDomain + "/pagefordomain1.htm";
ref["domain2.com"] = newDomain + "/pagefordomain2.htm";
ref["domain3.com"] = newDomain + "/pagefordomain3.htm";

for (var i in ref)
{
if (document.referrer.indexOf(i) != -1)
{
if (window.location.replace)
{
window.location.replace(ref[i]);
}
else
{
window.location = ref[i];
}
}
}
}
</script>

(Es geht noch effizienter, z.B. mit Regulären Ausdrücken, das ist dann
aber nicht mehr uneingeschränkt abwärtskompatibel.)

Dies ist aber keine *verläßliche* programmiertechnische Lösung, denn
a) kann clientseitiges Scripting und b) kann document.referrer nicht
unterstützt werden.

Beschwere Dich also zusätzlich, wie schon empfohlen, beim Provider des
Domaingrabbers und/oder wechsle selbst zu einem Provider, der eine
serverseitige Lösung ermöglicht. Was der Domaingrabber da tut, dürfte
gegen die AGB seines Providers verstoßen.

Quote:
P.S. "LiLi" heißt "liebe Liste"
Dies ist eine Usenet-Newsgroup, keine Mailingliste:

<http://einklich.net/usenet/usenet1.htm> ff.

Quote:
[TOFU]
Bitte beherzige <http://got.to/quote>, wir sind hier nicht bei Jeopardy[tm].


PointedEars
--
Zukunft wird nur möglich sein, wenn wir lernen, auf
Dinge zu verzichten, weil wir sie nicht brauchen.
-- Günther Grass


Reply With Quote
  #6  
Old   
K. de Cassan
 
Posts: n/a

Default Re: HTTP-Referrer blockieren - 10-17-2004 , 09:55 AM



Danke, Thomas und sorry für meine Fehler

Klaus

Thomas 'PointedEars' Lahn schrieb:

Quote:
K. de Cassan wrote:
^^
Da sollte "Klaus" statt "K." stehen, wenn Du hier ernstgenommen werden
willst.



Ich bin kein JS-Experte und mir wurde das Script von meinem Provider
empfohlen, da angeblich eine Serverseitige Lösung nicht möglich sei.



ACK



Jetzt bin ich zwar schlauer, aber das Problem ist noch nicht gelöst.



Ich fasse also meine erste Antwort zusammen:

script type="text/javascript"
if (document.referrer && window.location)
{
var newDomain = "http://www.able2know.com";
var ref = new Object();
ref["domain1.com"] = newDomain + "/pagefordomain1.htm";
ref["domain2.com"] = newDomain + "/pagefordomain2.htm";
ref["domain3.com"] = newDomain + "/pagefordomain3.htm";

for (var i in ref)
{
if (document.referrer.indexOf(i) != -1)
{
if (window.location.replace)
{
window.location.replace(ref[i]);
}
else
{
window.location = ref[i];
}
}
}
}
/script

(Es geht noch effizienter, z.B. mit Regulären Ausdrücken, das ist dann
aber nicht mehr uneingeschränkt abwärtskompatibel.)

Dies ist aber keine *verläßliche* programmiertechnische Lösung, denn
a) kann clientseitiges Scripting und b) kann document.referrer nicht
unterstützt werden.

Beschwere Dich also zusätzlich, wie schon empfohlen, beim Provider des
Domaingrabbers und/oder wechsle selbst zu einem Provider, der eine
serverseitige Lösung ermöglicht. Was der Domaingrabber da tut, dürfte
gegen die AGB seines Providers verstoßen.



P.S. "LiLi" heißt "liebe Liste"



Dies ist eine Usenet-Newsgroup, keine Mailingliste:

http://einklich.net/usenet/usenet1.htm> ff.



[TOFU]



Bitte beherzige <http://got.to/quote>, wir sind hier nicht bei Jeopardy[tm].


PointedEars




Reply With Quote
  #7  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: HTTP-Referrer blockieren - 10-17-2004 , 09:59 AM



K. de Cassan wrote:

Quote:
[...] sorry für meine Fehler [...]
[TOFU]
Nein, jetzt nicht mehr.


PointedEars, Fuppdiwupp
--
Man könnte zu dem verrückten Gedanken kommen, daß es überhaupt keine
Usenet-Neulinge mehr gibt, sondern nur noch amoklaufende Skripte der
Netzverwaltung.
-- Dieter Bruegmann in dag° <9tjkef.3vsi87t.1 (AT) boogie (DOT) bruhaha.de>


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.