Avatar billede hqst Nybegynder
07. januar 2007 - 17:36 Der er 8 kommentarer og
1 løsning

"Must Visit From" Brug for en eks. til at rette / skrive om!

Alle eksperten der ude! Jeg har brug for hjælp. Java er slet ikke min stræke side, så jeg må bede om forståelse.

Jeg skal bruge et script som kan filtre alle besøgende fra på nær dem som kommer fra en specifik url! Efter noget tids søgen på google fandt jeg dette Script

---
<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var requiredfrom = "index.html"; //  required prev. page
if (document.referrer.indexOf(requiredfrom) == -1) {
alert("You must come to this page from " + requiredfrom);
window.location=requiredfrom;
}
//  End -->
</script>
--------

Det ser jo godt ud, men problemet er at det kun virker når man kommer fra en anden side på samme hjemmeside. Jeg skal bruge det sådan at man kun kan se siden hvis man kommer fra en anden hjemmeside. Desuden kunne jeg godt være fri for den boks som popper og. Så scriptet bare redirecter til hoved siden hvis man ikke kommer fra det rigtige sted. og smider en til siden hvis man gør.

Jeg har prøvet at rette i det men uden, jeg forstår simpelthen ikke nok at java til at gøre det. Så jeg håber der findes en flink mandsperson som vil give mig lidt hjælp - Så giver jeg en god portion points.

Med venlig hilsen

Mikkel
Avatar billede jensgram Nybegynder
07. januar 2007 - 18:06 #1
<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var requiredfrom = "http://www.la.la.com/index.html"; //  required prev. page
if (document.referrer.indexOf(requiredfrom) == -1) {
window.location=requiredfrom;
}
//  End -->
</script>
Avatar billede jensgram Nybegynder
07. januar 2007 - 18:06 #2
Utestet.
Avatar billede hqst Nybegynder
07. januar 2007 - 18:31 #3
Tak for din kommentar, men det script bliver bare ved med at reloade. Det er meningen at hvis man kommer fra "http://www.la.la.com/index.html" Så "ved" scriptet det" og smider en hen på den rigtige side. Alle andre refs. bliver smidt til roden af hjemmesiden.
Derfor går jeg ud fra at der skal nogle flere linier til så. At hvis den given url ikke er http://www.la.la.com/index.html bliver man smidt til http://www.la.la.com/donotenter.html feks.

Forklarer jeg det godt nok?

- Mikkel
Avatar billede jensgram Nybegynder
07. januar 2007 - 20:06 #4
Ok - så prøver vi lige noget andet:

<script type="text/javascript">

// <![CDATA[
var requiredFrom = "http://www.la.la.com/index.html";
var sendTo = "http://www.la.la.com/donotenter.html";

if (document.referrer.indexOf(requiredFrom) == -1) { // referer er IKKE requiredFrom
    window.location = sendTo; // ... så vi sender til sendTo
}
// ]]>
</script>
Avatar billede hqst Nybegynder
08. januar 2007 - 01:14 #5
Okay, det var lige præcis sådan som scriptet skal virke. Tusinde tak for det, men det løste dog ikke helt mit problem.....

Den side hvor det er tilladt af komme fra (http://www.la.la.com/index.html) Prøvede jeg at ligge et link ind og når man klikker på dette, virker det som det skal.

MEN, jeg har et redirect script på den side og når man går gennem det, virker det ikke. (Der bliver redireted til flere forskellige sider) Undskylder jeg ikke har nævnt det, men jeg troede faktisk ikke det have nogen betydning.

Jeg prøvede med et META refresh redirect (<meta http-equiv="refresh" content="2;url=http://blabla.com">)Samme resultat. Det virker for mig som at browseren /scriptet ikke opfanger at man kommer fra den url pga. det er redirect.

Findes der et "work-around" til det? Eller har du en god ide om hvilken retning jeg måske skulle gå? Andet sprog måske?

Da du har lavet det script som jeg ønskede vil jeg selvfølgelig give dig points for det - Du kan jo ikke gøre for jeg ikke nævner redirect delen af dette lille projekt. Du skal have mange tak for hjælpen.

Bliver jo klogere hele tiden.

Men håber en kan lede mig på rette spor.

- Mikkel
Avatar billede jensgram Nybegynder
08. januar 2007 - 08:16 #6
Hej igen

Som jeg læser din sidste kommentar, så har du en eller flere sider, der redirecter til den side, hvor ovenstående script er. I den forbindelse virker scriptet ikke. Korrekt?

Hvis det er tilfældet så tror jeg desværre ikke du kan gøre noget ved det, da det så tyder på, at din browser ikke sender samme referer som kalkuleret. Desværre.

Men, du kunne lige prøve at skitsere hvornår det virker (ek side1 -> sideMedScript -> forbudt) og hvornår det ikke gør.

- Jens
Avatar billede hqst Nybegynder
09. januar 2007 - 00:17 #7
Hej Jens.

Okay, heres the deal!

www.redirect.dk --> www.minside.dk/script/ Virker ikke KUN hvis man klikker og ikke redirecter.

www.randomside.dk --> www.minside.dk/script/ Forbudt og virker!

Men ideen var jo at når en lander på www.redirect.dk og bliver sendt til www.minside.dk/script/ Ville det virke og alle andre lige meget hvor de kommer fra vil ikke få vist siden.

-- Men når redirect delen ikke giver den "rigtige" reference url vil det jo aldirg virke.

Findes der måske andre måde at nægte adgang til en side? Når man bruger redirect. F.eks at siden kun Godtager hits fra redirections? Eller er klokken blevet for mange og dette er helt lang ude? hehe..

Nå men anyway. Jeg takker mange gange. smid et svar og jeg giver dig points

- Mikkel
Avatar billede jensgram Nybegynder
09. januar 2007 - 09:05 #8
Ja, så må jeg nok melde pas. Det virker underligt, at browseren kun medsender en referer ved klik og ikke redirect.

Men, hvis du også vil afskærme alle, der komme forbi UDEN referer:

<script type="text/javascript">

// <![CDATA[
var requiredFrom = "http://www.la.la.com/index.html";
var sendTo = "http://www.la.la.com/donotenter.html";
var r = document.referrer;

if (r.length < 1 || r.indexOf(requiredFrom) == -1) { // referer er IKKE requiredFrom
    window.location = sendTo; // ... så vi sender til sendTo
}
// ]]>
</script>
Avatar billede olebole Juniormester
09. januar 2007 - 09:51 #9
<ole>

Referer-feltet i en HTTP-header kan man aldrig stole på - og derfor heller ikke bruge til ret meget  =)

/mvh
</bole>
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