3

非表示のフォーム入力フィールドを介して、この形式 yyyymmdd で現在の日付を送信する必要があります。

このjavascriptで必要に応じて日付をフォーマットしました

function getDate()
{
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
if(dd<10){dd='0'+dd} if(mm<10){mm='0'+mm} today = yyyy+mm+dd;
}

そして、これは私のフォーム入力フィールドです

<input type="hidden" name="startdate" onload="this.value = getDate();"/>

上記の日付をvar startdateに割り当ててサーバーに送信する方法をいくつか試しましたが、成功しませんでした。

ページの読み込み時に非表示の入力フィールドに日付を渡す方法を教えてもらえますか?

セキュリティやハッカーに関して何か問題があるのでしょうか?

ご協力いただきありがとうございます

4

2 に答える 2

3

ある種の検証に日付を使用している場合は、セキュリティのために、サーバー側のスクリプトを使用する方がはるかに優れています。そうすれば、クライアントは日付を偽装できません。

さらに、<input>サーバー側を使用して日付を生成した場合でも、Firebugや他の多くのWeb開発ツールを使用して時間をスプーフィングする可能性があるため、を使用しないでください。送信されたHTTPPOST(またはその他)には、なりすましデータが含まれている可能性があります。結局、100%安全なものはありません。

于 2013-02-27T04:06:40.087 に答える
3
<input type="hidden" name="startdate" id="todayDate"/>
<script type="text/javascript">
function getDate()
{
    var today = new Date();
    var dd = today.getDate();
    var mm = today.getMonth()+1; //January is 0!
    var yyyy = today.getFullYear();
    if(dd<10){dd='0'+dd} if(mm<10){mm='0'+mm}
    today = yyyy+""+mm+""+dd;

    document.getElementById("todayDate").value = today;
}

//call getDate() when loading the page
getDate();
</script>
于 2013-02-27T03:54:59.627 に答える