# Hilfe zu Passwortabfrage mit Javascript



## Roaky (25. Juni 2005)

Hallo, 
ich möchte eine Seite meines webs schützen und dafür eine Passwortabfrage einrichten.
Dafür habe ich folgenden code erzeugt:

***************************************************************************
<head>
<title>xxxxx</title>

<script type="text/javascript">
<!--
function Passwortabfrage() 
{
 var Passwort = "*passwort*";      
 var Eingabe = window.prompt("Bitte geben Sie das Passwort ein","");
 if(Eingabe != Passwort) 
 {
   alert("Falsches Passwort!");
   document.location.href="_error.htm_";
 }
 else
   document.location.href="_zur geschützten seite.htm_";
}
// -->
</script>

<link rel="stylesheet" href="../format.css" type="text/css">
<link href="bilder/favicon.ico" rel="SHORTCUT ICON">

</head>

…
***************************************************************************

Wenn ich dann nun also diese im Browser öffne, dann erfolgt die Passwortabfrage und alles  soweit.
Da aber auch andere Leute per FTP auf diese Seite zugreifen können, haben sie ja die Möglichkeit sich den Quellcode anzuschauen und schwupps haben sie das passwort.

Welche Möglichkeiten gibt es denn, hier im Quellcode das Passwort nochmal zu verschlüsseln, damit auch Leute die sich den Quellcode anschauen, dass Passwort nicht
herausbekommen?

Für Hilfe bin ich dankbar.

Roaky


----------



## con-f-use (25. Juni 2005)

Dazu braucht es noch nicht mal FTP-Zugriff. Selbst wenn du den rechtsklickt deaktiviert haben solltest kann man sich in jedem Browser den Quellcode anschauen und dein Passwort herausfinden. Das Passwort verschlüsseln hilft da auch nichts, dann schaut man halt im Quellcode nach der URL zur geschützten Seite und geht direkt dorthin.

 Ich mach das eigentlich nie mit JavaScript und hab auch keine Ahnung ob folgendes eine Gute Idee ist, abe nenn die Seite doch wie das Passwort und mach folgendes: 
	
	
	



```
<script type="text/javascript"><!--
  function Passwortabfrage() 
  {
 var Eingabe = window.prompt("Bitte geben Sie das Passwort ein","");
 document.location.href = Eingabe + ".htm";
 }
  // --></script>
```


----------



## Roaky (25. Juni 2005)

@ con-f-use:

Danke für deine Antwort. Hast du denn einen Vorschlag wie ich eine relativ sichere Passwortabfrage machen kann? Hatte zuerst .htaccess eingesetzt das fand ich aber nicht wirklich gut.

Das Passwort kann man sich aber nicht im Quelltext anschauen weil sich, sobald man auf diese Seite zugreift, das Popup der Passwortabfrage öffnet und man dadurch nicht an den Quellcode kommt.

Danke
Roaky


----------



## con-f-use (25. Juni 2005)

Außer einer serverseitigen Sprache oder der Möglichkeit, die ich bereits gepostet habe keine. Wie wäre es, wenn du mal Google oder die Forensuche bemühst?


----------



## Roaky (25. Juni 2005)

con-f-use hat gesagt.:
			
		

> ```
> <script type="text/javascript"><!--
> function Passwortabfrage()
> {
> ...



Entschuldige bitte aber ich verstehe die Logic nicht richtig.
1. Warum sollte ich diese Seite so wie das Passwort benennen?
2. Was bewirkt „ document.location.href = Eingabe + ".htm";“?

Danke für deine Hilfe.

Roaky


----------



## con-f-use (25. Juni 2005)

zu 1.) Damit das Script funktioniert ( siehe "zu 2.)" )

 zu 2.) _document.location.href = Eingabe + ".htm"; _bewirkt, dass versucht wird im gleichen Fenster in dem das Script ausgeführt wird eine Datei zu öffnen, die genau so heißt wie die zuvor im Prompt getätigte Eingabe plus noch ein htm am Ende. Wenn jemand das falsch Passwort eingibt, gibt es einen 404 Fehler. Wenn jemand allerdings den richtigen Dateinamen als Passwort wird er zur Seite weitergeleitet.
Das hat denn Sinn, das weder der Name der richtigen Seite noch das Passwort im Quelltext auftaucht.

 Soviel Ahnung von JavaScript, dass du weißt, wie man Stringvariblen und Strings verkettet und was genau document.location.href macht sollest du eigentlich haben, sonst ist dir hier im Forum kaum zu helfen.


----------



## Dennis Wronka (25. Juni 2005)

1. Damit das Passwort nicht im Quelltext steht.
2. Dadurch wird das eingegebene Passwort + .htm als Dateiname genutzt und geladen.

Daher soll auch der Dateiname dem Passwort entsprechen.
Wenn Dein Passwort z.B. *hugo123* ist, dann nennst Du die nach dem Login aufzurufende Datei *hugo123.htm*.


----------



## Roaky (25. Juni 2005)

Vielen Dank Jungs, ich werds mal probieren.
Meld mich später nochmal.

Gruß
Roaky


----------



## Roaky (25. Juni 2005)

Ich habe das Script nun in die index.htm eingefügt. Es klappt wirklich super. Ich danke euch für die Hilfe.
Jetzt steht das Passwort nicht im Quelltext und auch per ftp ist es nun nicht mehr herauszubekommen. Im Prinzip ist es ja die Eingabe des Passwortes eine Verlinkung auf die Seite die den Namen des Passwortes +.htm hat.

Geniale Idee und doch so einfach.

Danke
Roaky

Ich habe doch noch eine Frage:
Diese Seite habe ich auf dem web nicht verlinkt. Nur wenn man in der Adresszeile die URL entspr. erweitert, öffnet sich die Seite mit der Passwortabfrage. Nun möchte ich gern erreichen, dass diese Seite in einem neuen Fenster geöffnet wird trotz das ich die URL in der Adresszeile erweitere und somit direkt auf diese (sich eigententlich in einem neuen Felnster öffnende Seite) Seite zugreife. Das klingt nun etwas umständlich aber vielleicht hat jemand noch einen Tipp für mich. Hab schon überlegt aber ich finde keine Möglichkeit.


----------



## con-f-use (25. Juni 2005)

Ich sag nur window.open() statt location.href !


----------



## Roaky (25. Juni 2005)

Danke für den Tipp.

Ich glaube das klappt so nicht. Denn wenn ich window.open() in der Datei benutze, in der ich die Passwortabfrage implementiert habe, dann öffnet sich doch erst die folgende Seite (in diesem Fall die Seite bei erfolgreicher Passworteingabe)  in einem neuen Fenster. 
Zur Veranschaulichung:

Ich befinde mich auf der Homepage des webs:
http://www.testweb.de.

Nun möchte ich auf die passwortgeschützte Datei zugreifen und erweitere die URL auf:
http://www.testweb.de/passwortbereich.

Nun öffnet sich die index.htm des Ordners "passwortbereich" welche die Passwortabfrage (und Weiterleitung auf die passwortgeschützte Datei) durchführt. Dabei verlasse ich aber die momentane Seite (die Homepage des webs - http://www.testweb.de/index.htm) da ja die neue Seite dafür geöffnet wird.

Es soll aber möglichst so sein, dass die Homepage des webs weiterhin geöffnet bleibt und die neue Seite (mit der Passwortabfrage) in einem neuen Fenster geöffnet wird.

Danke für weitere Hilfe ;-)
Roaky


----------

