2011-08-11 7 views
0

私は、ページにアクセスする前にパスワードを入力するようにユーザーに求める次のjavascriptコードを書いています。また、パスワードが正しければ読み込むページにURLを送りたい。それはそのページ別のページにURLを送信する

function pagePassword(url) 
{ 
var password; 
var pass1="xxxxxx"; 
password=prompt('Please enter the page password:',' '); 
if (password==pass1) 
{ 
//code to send a url of another html page to the page which is going to load if the password entered by the user is correct 
window.location="http://nano.uark.edu/nanophpscripts/xxxxxxx.php?pageurl="+url; 
} 
else { 
alert('Wrong password!'); 

} 
} 

に別のHTMLページのURLを送信するのが正しい方法です。このedit_backend.phpページのコードです。ページには、別のHTMLページのURLを取得し、それがないJavaScriptを使用して、パスワードの取り扱いサーバ側の操作を行い、テキストボックス

$url=$_GET["pageurl"]; 
echo "<textarea name=\"content\" id= \"content\" cols=\"90\" rows=\"40\">"; 
$handle = fopen("$url","r"); 
while(!feof($handle)) 
{ 
$text = fgets($handle); 
echo $text; 
} 
fclose($handle); 
?> 

echo "</textarea><br>"; 
+2

は、Javascriptが悪い考えです。ブラウザを持っている人は誰でも数秒で正しいパスワードを知ることができます。 – Paulpro

+0

このコードを別の.jsファイルに置き、パスワードを暗号化し、そのファイルをメインのHTMLコードに含めます。 –

+0

@James - 暗号化されているかどうかにかかわらず、クライアント(ブラウザ)に送信されるパスワードはセキュリティリスクです。あなたが物事を安全に保つためには***絶対に***任意のフォームでクライアントにパスワードを送信します。 – cdeszaq

答えて

1

でのソースコードです開きます。誰でもjavascriptを見て、パスワードを見たり、どのページを表示したりすることができます。うまく

1

、あなたはJavaScriptでURLをエスケープする必要があります - おそらく:

"http://........?pageurl="+escape(url); 

とPHPスクリプトの内部を:

$prevpagename=htmlspecialchars(urldecode($_GET["pageurl"])); 

おそらく動作するはずです。

もちろん、上記のように、あなたのパスワードをクライアント側で比較することは、賢明なことではありません。

0

まず、誰でも簡単にソースコードを見ることができるJavascriptでは機密データを保存しないでください。 PHPでログインを処理する必要があります。

2番目は楽しいため、window.locationリンクを私のブラウザに貼り付け、3分以内にあなたのPHPログイン情報を含め、PHPファイルからすべてのソースコードを見ることができました。アプリ。パスワードのチェック

あなたはそれが起こるようにしたいかもしれない...だけ知っているので

+0

ああ...私はこれが本当に安全でない方法だと思います。私はjsの代わりにPHPを使う必要があります –

関連する問題