現在、私は約5人しかログインできないサイトを持っています。JavaScriptを使用してデータベースに接続してユーザー名を変更する方法
ログインするたびに5人がNDAを読み、2つのテキストボックスに名前を入力する必要があります。名前と苗字。ユーザーが[送信]ボタンを押すと、名前が正しい場合はサイトに移動し、名前以外の場合はサイトからログアウトします。
今私はこれを行うためにPHPを使用する方法を知らないので、これを行うにはJavaScriptを使用しています。
初めてユーザーが自分の名前を正しく入力しなかった場合、私は今のユーザーのようにユーザーをログアウトさせたいのですが、このユーザーのユーザー名を "xxx10017969"に彼のユーザー名の最後。これにより、彼がログインして私に連絡してもらう必要がなくなり、ユーザー名をデータベースで修正できるようになります。ここ
はHTMLです:
<form method="post" action="index.php" style="width: 600px;"><p>By typing your first and last name below you are bound by this contract. If you type anything other than your first and last name, you will be logged out and your account will be deleted.</p>
<p><input type="text" value="First Name" name="first_name" id="first_name" />
<input type="text" value="Last Name" name="family_name" id="last_name" />
<input type="date" value="Date" name="signiature" /></p>
<p><input type="button" value="Access Site" onclick="checkforname();" /><p>
</form>
そして、ここでは私のjavascriptです:
<script type="text/javascript">
function checkforname() {
var fname = "<?php echo "$identity->first_name"; ?>";
var lname = "<?php echo "$identity->family_name"; ?>";
var enteredFname = document.getElementById("first_name").value;
var enteredLname = document.getElementById("last_name").value;
if (enteredFname == fname && enteredLname == lname) {
}
else {
window.location = ("login.php?logout");
}
}
</script>
PHPを使用してサーバー側で常にこのような検証を行う必要があります。クライアント側でユーザー確認を行うのは良くないので、ユーザーはそれを渡すことができます。 – Virendra
あなたのソリューションはまったく安全ではありません。 ユーザーの姓と名はプレーンテキストで書かれており、ページのソースコードをチェックすると読めますか? –
JavaScriptはクライアントのブラウザで実行されますか?もしそうなら、誰かがコードを見てこのロジックをバイパスするのを妨げるものは何もありません。 – wallyk