Avatar billede cpfrande Nybegynder
05. januar 2002 - 10:43 Der er 20 kommentarer og
2 løsninger

Skal bruge andre frames !

Hey !

Jeg er igang med at bygge en chat og vil gerne prøve at slippe for at folk ikke snyder i den.
Jeg vil derfor gerne gøre sådan hvis de prøver bare at komme ind i en af de sider som jeg har i mine frames UDEN at de andre sider er åbne skal den melde fejl på den side der forsøges åbnet !

Det kan lade sig gøre, bl.a. HotelChat.dk og TextChat.dk har lavet det. Spørgsmålet er bare hvordan man gør det ;D ?

Håber I kan hjælpe !

- Frande
Avatar billede tobias_cool Nybegynder
05. januar 2002 - 11:02 #1
if(document.parent)

Tror jeg du kan i hvert fald checke indholdet på den måde
Avatar billede tobias_cool Nybegynder
05. januar 2002 - 11:04 #2
if(parent.FrameName.document)

ingen document foran
Avatar billede cpfrande Nybegynder
05. januar 2002 - 11:36 #3
Hvordan laver jeg det i javascript???
Og kan du måske også fortælle om jeg kan lave det i PHP!

- Frande
Avatar billede tobias_cool Nybegynder
05. januar 2002 - 11:39 #4
if(parent.FrameName.document){
alert(\'Det troede du lige du kunne snyde\');
}

FrameName skal så erstattes af den frame du vil checcke for men det er jo sådan set ligemeget (Generelt)
Avatar billede cpfrande Nybegynder
05. januar 2002 - 11:41 #5
Ok, men tjekker den ikke om der er noget frameindhold og hvis der er skal den melde fejl??
Og kan man lave det der i PHP også ?

- Frande
Avatar billede tobias_cool Nybegynder
05. januar 2002 - 11:44 #6
Aner det ikke

Du kan muligvis også checke window location

if(window.location != \'http://www.dinside.dk\'){
window.location = \'http://www.dinside.dk\'
}
Avatar billede cpfrande Nybegynder
05. januar 2002 - 11:46 #7
Har du ICQ???

Alt dette her, skal skrives ind i et <script></script> ??
Jeg arbejder normalt ikke med JavaScripts såå ;D
Programmer kun i PHP og det !
Avatar billede tobias_cool Nybegynder
05. januar 2002 - 11:46 #8
Jeg ved ikke lige hvordan location er defineret i php

side = \'http://www.dinside.dk\'
function checke(){
if(window.location != side){
window.location = side;
}
}

Så udfylder du bare selv side
Avatar billede tobias_cool Nybegynder
05. januar 2002 - 11:48 #9
<script>
side = \'http://www.dinside.dk\'
function checke(){
if(window.location != side){
window.location = side;
}
}

checke();
</script>

Nu tror jeg den er temlig nørd sikker den chekker hvilken side den er på så hvis man vil åbned chat vinduet med en anden frame så bliver man sat over på din side (forhåbentligt) jeg tester aldrig scripts på forhånd
Avatar billede cpfrande Nybegynder
05. januar 2002 - 11:51 #10
ok, men det er bare ikke det jeg søger for det kan nemt laves i PHP. Jeg mangler en som tjekker at de andre frames er åbnet eller om personen fx. kun sidder med den fil som skriver teksten i chatten. Det er problemet !
;D
Avatar billede tobias_cool Nybegynder
05. januar 2002 - 11:53 #11
http://www.dinside.dk?nick=<?$nick?>

Eller så noget hvad ved jeg så oplysningerne også bliver sendt med
Avatar billede cpfrande Nybegynder
05. januar 2002 - 11:58 #12
Det hjælper jo heller ikke ! Jeg skal jo ikke tjekke om variablen $nick findes for det gør jeg jo alligevel i ALLE filerne for sikkerhedens skyld. Jeg skal bare have hver side til at tjekke om de andre frames er åben i samme vindue som den fx. sender.php er i, bare de er delt ind i frames. Forstår du?

- Frande
Avatar billede tobias_cool Nybegynder
05. januar 2002 - 12:00 #13
<script>
side = \'http://www.dinside.dk\'
function checke(){
if(window.location != side){
window.location = side;
}
}

checke();
</script>

Hvad er der så galt med det her du skriver bare din frameside og hvis den ikke er i den så går den til den frameside.
Avatar billede cpfrande Nybegynder
05. januar 2002 - 12:06 #14
er det det den gør???
Hmm... ok, jamen tak så... troede bare kun den viderstillede til en side hvis den ikke allerede var på den ;D
Avatar billede cpfrande Nybegynder
05. januar 2002 - 12:12 #15
hehe, desværre virker dit script ikke, den åbner hele tiden i min viser.php bare et nyt framesæt istedet for at vise ok.

Det vil altså sige at når side er lig http://www.mysite.dk/index.php ( Framesættet )
og den side scriptet ligger I er http://www.mysite.dk/viser.php som er i framet så viser den fejl og åbner bare index.php i viser.php HELE tiden !

- Frande
Avatar billede tobias_cool Nybegynder
05. januar 2002 - 12:18 #16
Du skal bare skrive koden på alle de sider der er i framesettet. så burde det virke
Avatar billede jakoba Nybegynder
05. januar 2002 - 16:03 #17
hvis du laver dit frameset som:

<frameset cols=\"25,100,*\">
<frame name=\'olsen\' src=\"olsensfil.html\">
<frame name=\'jensen\' src=\"jensensfil.html\">
<frame name=\'mortensen\' src=\"mortensensfil.html\">
</frameset>

mu kan du i filen \'olsensfil.html\' teste på:
    if ( window.name==\"olsen\" && parent.location.href.indexOf(\"ditdomæne.dk\") >0 ) {
        alert( \"filen ligger i rette frameset og det frameset er hentet fra mit eget domæne\" )
    } else {
        alert( \"der er noget suspekt her, nogen har pillet ved filen\" );
    }

mvh JakobA
Avatar billede cpfrande Nybegynder
05. januar 2002 - 16:41 #18
Når jeg prøver dit script, JacobA, gør denne ikke noget.
Den kode jeg lavede ud fra din:
<script>
    if ( window.name==\"viser\" && parent.location.href.indexOf(\"cyberpro.dk\") >0 ) {
</script>
Her ligger indholdet af min PHP-fil
<script>
    } else {
        dokument.write( \"der er noget suspekt her, nogen har pillet ved filen\" );
    }
</script>

Hvorfor gør den intet? Der kommer kun dette lille fejl ikon nede i højnet af min browser.

- Frande
Avatar billede jakoba Nybegynder
05. januar 2002 - 17:08 #19
i javascript kan du ikke afbryde javascriptet med en </script> kommando og genoptage sidenhen med <script>.

Så i din første script sektion er der en uafsluttet {
og i den anden er der en } for meget.

mvh JakobA
Avatar billede jakoba Nybegynder
05. januar 2002 - 17:15 #20
Min hensigt med scriptet var mere st det skulle være en test der sikrede at det blev opdaget hvis der var noget galt. testen kan så sætte et diskret flag til den efterfølgende php næste gang der reloades.

i selve php-en kan du så verificere lidt ved at teste på HTTP_REFERER og teste for domænenavnet igen.
Avatar billede cpfrande Nybegynder
05. januar 2002 - 18:17 #21
Hej igen !

Jeg fatter ikke en brik af dette.
Måske gider du at lave koden om sådan at jeg kan bruge den?

Den skal jo det som du har lavet, bare vise resten af min PHP-fil HVIS det er ok.

Gider du det???
På forhånd tak !

- Frande
Avatar billede cpfrande Nybegynder
05. januar 2002 - 18:50 #22
Sådan nu blandede jeg jeres scripts og fik lavet en der passede til mit ;D

<script>
    if ( window.name==\"viser\" && parent.location.href.indexOf(\"cyberpro.dk\") >0 ) { }
else {
        window.location = \"http://www.cyberpro.dk/\";
    }
</script>

Jeg deler pointsene !

Mange tak for hjælpen ;D

- Frande
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