私はHTML5を使った簡単な<form>
を作成しています。ちょうど私が行方不明でセキュリティ上の脆弱性がないことを確認したかったのです。攻撃についてはあまりよく分かりませんが、メッセージフィールドにはもっと多くのものが必要だと思っていました。私はテキストのみに制限することができますが、あまりユーザーフレンドリーではないかもしれないと考えました。適切なHTML5フォーム検証
誰かがどのようなタイプの250文字も入力できるようにすることすらできますか?それで何か有害なことはできますか?
<form id="contact_form_id" method="POST" action="" name="contact_form">
<input class="contact_single_line" type="text" id="fname" name="fname" minlength="2" maxlength="25" required type="text" onkeypress="return isAlpha(event)"></input>
<input class="contact_single_line" type="text" id="lname" name="lname" minlength="2" maxlength="25" required type="text" onkeypress="return isAlpha(event)"></input>
<input class="contact_single_line" type="email" id="email" name="email" minlength="3" maxlength="45" required placeholder="Enter a valid email address" TextMode="email" required data-errormessage-type-mismatch="Invalid!"></input>
<textarea id="message" name="message" minlength="2" maxlength="250" required></textarea>
<input type="submit" name="submit" id="contact_submit_btn" value="SUBMIT"></input>
</form>
また、このisAlpha関数をバックアップとして使用します。それはあなたのhtml形式でMAXLENGTHを制限すること偽の提出を鍛造からの攻撃を防ぐことはできません、私がしているすでに
function isAlpha (evt) {
var theEvent = evt || window.event;
var key = theEvent.keyCode || theEvent.which;
key = String.fromCharCode (key);
var regex = /[A-Za-z_ ]|\./;
if (!regex.test(key)) {
theEvent.returnValue = false;
if(theEvent.preventDefault) theEvent.preventDefault();
}
}
検証のために、クライアント側に依存しない、いくつかの厄介なものは、クライアント側から行うことができます。サーバー側も保護します。 – Niladri
PHPによる検証ですか?それはPHPスクリプトに行くので、私はあなたが意味するものを推測している – NewCodeMan