"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Java Script: Spezialscript gesucht

jb 09.09.2002 - 01:20 536 11
Posts

jb

Here to stay
Registered: May 2000
Location: /home/noe/
Posts: 3514
Also ich brauche folgendes:

Webseite mit 3 Frames.
Oben der Titel, Bildchen, usw...
links die Navigation , deren Links den Inhalt des großen Hauptframes (rechts unten) ändern.

Ich möchte jetzt folgendes:
Das Hauptframe soll sobald es irgendjemand aufruft nachsehen ob es von meiner eigenen index.php aufgerufen wurde und nicht von irgendeiner externen Seite. Wenn der Aufruf von extern kommt dann soll sich das Script Platz schaffen und im kompletten Fenster laden (unterbinden des Ladens in Frames Fremder)

In Selfhtml hab ich was in der Richtung gefunden, nur kann ich dem Script eben nicht beibringen welcher Aufruf von meiner eigenen Page kommt und welcher nicht, bei Aufruf der index.php werden dann sobald das Hauptframe geladen wurde Navigation und Überschriftsframe rausgeworfen und ich seh nur noch das Hauptframe.

Ich fasse zusammen: Wer hat ein Script bei der Hand das checkt ob die Datei in ein Frameset geladen wurde und gleichzeitig checkt ob es das "eigene" oder ein "fremdes" ist. Im 2. Fall soll dann die index.php in das ganze Browserfenster geladen werden und "böse" Verlinker durch die Röhre kucken...:p

jb

Here to stay
Registered: May 2000
Location: /home/noe/
Posts: 3514
Na geh, keiner der ein bißchen was in Java-Script kann???

Guest

Deleted User
Registered: n/a
Location:
Posts: n/a
den "aufrufer der seite" checkst du über document.referer -> in diesem string kannst du zB nach deiner domain suchen.

solche skripte gibts im netz wie sand im strandbad -> such in einschlägigen javascript communities danach.

oder noch besser: probiers selber zu machen, ist gar net so schwer ;)

jb

Here to stay
Registered: May 2000
Location: /home/noe/
Posts: 3514
Stimmt, an den Referer hab ich nicht gedacht, da könnte ich einfach abchecken welche Seite aufgerufen hat und dann in sämtliche Files einbauen.
Danke ich schau mal!

that

Moderator
Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11338
Üblicherweise checkt man in so einem Fall das Top-Window, obs der eigene Frameset ist.

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
pfusch!! und was machst, wenn der user kein javascript an hat? oder - ich schätze mal du willst die in selfhtml angesprochenen schaufenstereffekte unterbinden - derjenige der deine seite einbindet kann ebensogut deine ganze index-seite einbinden, dann kannst du nicht dagegen tun, ausser du machst wieder in der index-seite eine abfrage - aber generell gilt: wenn jemand eine seite/bzw den teil einer seite in ein 'schaufenster' packen will - dann kann er das auch, du kannst praktisch nix dagegen tun

wie dem auch sei - zufällig hab ich ein gerade solches script geschrieben, mit dem einfachen trick, dass im index eine variable definiert wird, und in den 'client-seiten' überprüft wird ob diese existiert
Geschrieben hab' ich das aber aus einem ganz anderen anlass: ich wollte versuchen die nachteile von frames auszubügeln

ich geh noch schnell auf die suche, dann post' ichs hier rein.... stay tuned ;)

jb

Here to stay
Registered: May 2000
Location: /home/noe/
Posts: 3514
Zitat von watchout
pfusch!! und was machst, wenn der user kein javascript an hat? oder - ich schätze mal du willst die in selfhtml angesprochenen schaufenstereffekte unterbinden - derjenige der deine seite einbindet kann ebensogut deine ganze index-seite einbinden, dann kannst du nicht dagegen tun, ausser du machst wieder in der index-seite eine abfrage - aber generell gilt: wenn jemand eine seite/bzw den teil einer seite in ein 'schaufenster' packen will - dann kann er das auch, du kannst praktisch nix dagegen tun

wie dem auch sei - zufällig hab ich ein gerade solches script geschrieben, mit dem einfachen trick, dass im index eine variable definiert wird, und in den 'client-seiten' überprüft wird ob diese existiert
Geschrieben hab' ich das aber aus einem ganz anderen anlass: ich wollte versuchen die nachteile von frames auszubügeln

ich geh noch schnell auf die suche, dann post' ichs hier rein.... stay tuned ;)

Hey, das mit der Variable ist ne gute Idee... Nur wie bring ich der index-Seite selber bei nicht in einem Frameset mißbraucht zu werden???

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
also, ein paar sachen muss man schon beachten...:
die folgenden zeile gehört in alle 'clientseiten' - und zwar in deren header:
Code:
<script language="JavaScript" src="script.js" type="text/javascript"></script>
deren body-tag sollte zumindest so ausschaun:
Code:
<body onload="CheckParent()">
die nächste kannst in die diversen 'statischen' seiten geben, wie menü,banner usw.:
Code:
<script language="JavaScript">
<!--
if(!parent.FrameSetIsHere){location.href="index.html"}
//-->
</script>
comment: die zeilen kannst eigentlich auch in's script.js-file werfen, naja hab das script nicht 100% fertig gemacht, weil ich zur ansicht gekommen bin, dass es sinnlos is' - vielleicht gibts mal ne final-version...

so, weiter im text: folgender code kommt auf die index-seite in den header....
Code:
<script>
<!--
var k=0;
var FrameSetIsHere=1;
var flag=0
window.name=document.title
function ShowSite()
{
	var s;
	if(window.location.search != "")
	{
		s=window.location.search;
		main.location.href=s.substring(1,s.length);
	}
	else
	{
		main.location.href="cnt/home.htm";
	}
}
//-->
</script>
so, und jetzt kommt das prob von dem script, weswegen ich den tip gebe das index-script in php zu konvertieren, geht ohne prob's:
Code:
<script language="JavaScript">
<!--
ShowSite()
//-->
</script>
der code gehört an eine stelle, wo er geladen werden kann, nachdem die framesets definiert wurden - das is' ne probiererei - ich empfehle den bereich vorm letzten </frameset>, kann aba nix garantieren...

So, zum schluss noch: solche verdammten javascripts sind alle so speziell auf seiten zuzuschneiden, dass es fast unmöglich is sie 'allgemein' zu halten, bzw vernünftig einzubinden.... für weitere fragen: protected oda PM

-> file in .js umbenennen
script_16049.txt (downloaded 37x)

jb

Here to stay
Registered: May 2000
Location: /home/noe/
Posts: 3514
Ach so habe gedacht du machst es ohne JS, das wär mir auch lieber in PHP, aber es ist mal ne Anregung...
Also auf der Hauptpage kommt das Script von selfhtml (der User checkt dann schon daß auf eine fremde Seite verlinkt wurde weil sich das Fenster in den Vordergrund schiebt wenn die Index-Seite in ein Frame geladen wird).

Auf der Index-Seite kommt dann bei den Frameset-Definitionen eine Variable zum Einsatz also ungefähr so:

<frameset rows="85,*" framespacing="0" scrolling="0" border="0" frameborder="0">
<frame src="ueberschrift.php?checker=laden" scrolling="NO" marginwidth="20" marginheight="20">
<frameset cols="130,*" frameborder="NO" framespacing="0">
<frame src="navigation.php?checker=laden" scrolling="NO" marginwidth="5" marginheight="5">
<frame src="start.php?checker=laden" scrolling="AUTO" marginwidth="10" marginheight="5" name="haupt">
</frameset>
</frameset>

In den einzelnen Dateien (z.B. haupt.php:

switch ($checker)
{ case "laden": echo "Seite wird aufgebaut";
# Seite wie schon vorher vorhanden
break;
case "*": echo "ätsch!!!"; break;
case "": echo "ätsch!!!"; break;
}

Sollte gehen so. Und wenn einer auf die Variable draufkommt wird einfach ?checker='$GF0pw5436v$%&! gesetzt :p
Bearbeitet von jb am 09.09.2002, 20:45

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
draufkommt is' gut... da brauchst nur im source nachschaun... ;)
hmm, aba du hast mich jetzt auf was gebracht, an das ich vorher net gedacht hab.... :)

jb

Here to stay
Registered: May 2000
Location: /home/noe/
Posts: 3514
Zitat von watchout
draufkommt is' gut... da brauchst nur im source nachschaun... ;)
hmm, aba du hast mich jetzt auf was gebracht, an das ich vorher net gedacht hab.... :)

Shit... Hmm irgendwie muß man die Variablen anders übergeben. Wie siehts mit dem Referer aus? könnte man den auslesen und schaun obs vom richtigen Frameset is?


Woran hast denn nicht gedacht???

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
hab ne idee, bin aba derzeit so vollgepumpt mit ideen... kann mal wer nen gehirn-backup erfinden? und dann am besten noch nen konverter dazu.... damit ichs mir am pc anschaun kann....

kannst per php nen fast 100% sichere gschichte machen... aba wieder nur für 'child'-seiten:
also, machst ganz einfach bei erstellen von der index-seite einen unique-string - wasweissich mit der zeit zb., den verschlüssels't mit einer maschinen-konstante - somit hast was, das über alle scripts gleich bleibt - wo aba der user net ran kommen kann, oda die er net wissen kann, dann übergibst zeitwert und verschlüsselten wert per session-variable an den child - dort wird wieder (mit der gleichen pw-funktion natürlich) überprüft, ob der gleiche wert zur gleichen zeit rauskommt - ab dann lohnt sich der Aufwand schon 100mal nimmer ;)

edit:ad referer: wenn du dann im menü-frame auf nen link clickst is' auf einmal menu.html der referer, das script denkt sich, dass es nicht/bzw im falschen frame-fenster is' und patsch du hast ne neue instanz
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz