iWeb HTML-Baustein - JavaScript im Header platzieren?

kbundies

kbundies

Aktives Mitglied
Thread Starter
Dabei seit
31.01.2009
Beiträge
283
Reaktionspunkte
20
Hallo,

ich habe eine einfache Seite in iWeb gestaltet.
Eine Unterseite „Intern“ habe ich mit einfachem JavaScript code per Passwort „gesichert“

Code:
<SCRIPT language="JavaScript">
<!--hide
var password;
var pass1="geheim";
password=prompt('Bitte das Passwort eingeben!',' ');
if (password==pass1)
alert('Das Passwort ist korrekt! Bitte auf OK klicken, um auf die interne Seite geleitet zu werden!');
else
{
window.location="http://www.apple.com/index.html";
}
//-->
</SCRIPT>

Diesen Code habe ich mit TextWrangler über den </head> tag der Seite eingefügt.
Es funktioniert auch gut so (außer dass man das Passwort später ganz einfach im Source code auslesen kann...)
Nun habe ich versucht, denselben Code per HTML-Baustein direkt in iWeb einzufügen.
Dort scheint aber irgendetwas nicht richtig zu funktionieren, denn man kann die interne Seite schon vor der Passworteingabe sehen.
Ich vermute, es braucht dort nocht zusätzliche Anweisungen im HTML-Baustein.
Vorteil bei iWeb wäre auch, dass der JavaScript code nicht direkt im Quellcode der Seite gesichert wird.
Könnte mir jemand weiterhelfen? Wie kann ich den HTML-Baustein so anpassen, dass mein JavaScript code funktioniert?
Danke für Hilfestellung.
 
Ich hoffe mal für dich, dass du in dem internen Bereich keine wirklich vertraulichen oder schützenswerten Informationen liegen hast, denn der Schutz ist in etwa so sicher wie ein Hinweis neben dem "Intern"-Link, doch bitte nicht draufzuklicken, wenn man keine Berechtigung hat. Schau dir für sowas besser mal Zugriffsschutz via .htaccess an.

Weißt du wo der HTML-Baustein von iWeb eingefügt wird? Denn dass du in deinem TextWrangler-Test nichts siehst liegt daran, dass der alert-Dialog blockend vor dem Body der Seite geöffnet wird und der Browser nicht weiterrendert bis der Dialog geschlossen wird.

Wenn es in iWeb weiter im Seitenverlauf eingebaut wird hat der Browser bis dahin schon gerendert und zeigt es auch an.
 
scope,

danke für Deine Antwort!
.htaccess klingt eigenlich wie die perfekte Lösung, habe auch schon versucht, mir die zwei nötigen Dateien hier zu erzeugen. Im lokalen Ordner hat es aber nicht funktioniert, oder ich habe die Link-Beziehungen noch nicht richtig verstanden.
Nochmal eine Frage zur schlechten Sicherheit meines angewandten JavaScript codes:
Das Passwort auslesen kann doch nur derjenige, der sich über das Passwort schon auf die Seite eingeloggt hat. Das ist doch kein Sicherheitsrisiko, oder doch? Es sollen hier nur ein paar private/interne Termine der Allgemeinheit verborgen bleiben.
 
Das Paßwort kann mit "Seitenquelltext anzeigen" im Browser jeder lesen.
 
Dagliesh, ja, den Quelltext kann jeder lesen, aber doch nur, wenn man auf der Seite schon ist?
Oder kann ich den Quelltext auch von einer Seite lesen, welche nur verlinkt ist?
Sorry, bin Anfänger.
 
Einfachste Möglichkeit, das zu umgehen: JavaScript deaktivieren. Und schon wird dein Alert nicht mehr angezeigt und ich hab freien Zugriff auf den Quelltext.

Allgemeiner gesagt: In dem Augenblick, wo der Browser beginnt die Seite zu rendern und an dem Alert anhält, hat er den gesamten Quelltext der Seite schon runtergeladen. Und damit ist es sicherheitstechnisch schon zu spät. Und zur Not nutze ich sowas wie curl um den Quelltext direkt ohne Browser runterzuladen.
 
scope,

danke, das zeigt eindeutig, dass meine Methode unbrauchbar ist.
Dann werde ich mal versuchen, diese beiden .htaccess und .htpasswd zu generieren und auf den ftp Server zu laden.
Kann man das eigentlich in einem lokalen Ordner testen?
 
Du solltest zunächst klären, ob dir dein Hoster erlaubt, Verzeichnisse via .htaccess zu schützen.

Und du wirst das nicht im lokalen Ordner ohne weiteres testen können, da es ein Modul des Apache-Webservers ist.

Du kannst aber relativ einfach den eingebauten Apache von OS X starten oder sowas wie MAMP nutzen und lokal mit dem .htaccess-Schutz spielen. Anleitungen dafür gibt es genug.
 
ok., der Hoster erzählt mir, dass ich bei meinem Paket lediglich (über deren Benutzerinterface) einen Ordner sperren kann. Apache, .htaccess etc. gibt es erst im teureren Paket.
Also versuche ich erst mal nur das Machbare.
 
Soviel ich weiß musst du dafür direkt in deinem Skript nachschauen. Den Code musst du an oberster Stelle einfügen. Du musst auch wissen, ob dein Hoster dir überhaupt ermöglicht, dass du mit Java arbeiten kannst. Wenn nicht, dann kannst du den Code nicht einfügen.
 
Soviel ich weiß musst du dafür direkt in deinem Skript nachschauen. Den Code musst du an oberster Stelle einfügen. Du musst auch wissen, ob dein Hoster dir überhaupt ermöglicht, dass du mit Java arbeiten kannst. Wenn nicht, dann kannst du den Code nicht einfügen.

1. Der Thread ist 3 Monate alt
2. Ging es nicht um Java, sonder um JavaScript. (Und dort ist Hoster-Unterstützung irrelevant und ein Script an oberster Stelle kein Sicherheitssystem)
 
Zurück
Oben Unten