2012-03-09 18 views
1

Google Chromeでは、Inspect要素と呼ばれるものがあります。f12キーまたはrigthキーを押してアクセスします。要素の検査をクリックします。投稿フォームを保護する方法

だから、私は私がデータであることを確認することができる方法120.Soよりも大きなデータを送信することができます

<form> 
<textarea name="title" id="title" maxlength="120"/></textarea> 
</form> 

からだから今利用の場合Inpect要素を持っているし、ページを編集して、500にmaxlenghtを変更私はまだ、ユーザはいつでも提出されたデータをサーバー側を確認する必要がありますだけでなく

+1

フォーム要素を調べて、フォームデータがどこに送信されているかを確認し、直接送信して、必要なものを渡すだけでよいでしょう。または、長さ属性が無視されるバグがある、古いブラウザまたは実際に不気味なブラウザ上にいる可能性があります。サーバー側の検証*すべて*Călinを聞く。 – Anthony

答えて

4

JavaScriptを編集することができます長さをチェクするためにJavaScriptを使用している場合は、ユーザーがInpect要素

でページを編集しても120。ユーザーが送信するものは何も信頼しない。 [オフトピック]

また、任意の注入の種類(クライアントスクリプト、SQL、サーバや他のユーザーのブラウザが誤って実行することができるもの)を許可しないように注意してください

+0

そのように単純です。ユーザーデータを信頼しないでください。ブラウザを信頼しないでください。実際には、ハッシュや暗号などのクライアント側の試行よりもサーバー側の検証を行うほうがずっと簡単です。セキュリティと完全性の余分な層を追加するためにサーバーをチェックするだけです。 – Anthony

0

確実にそれを行うための方法はありませんクライアント側に渡すものは、バグや悪意のあるユーザーによるクライアントが自由に無視できるというヒントです。

正常に動作するクライアントを支援するために、クライアントにヒントを伝えることが必要ですが、常にはサーバー上の受信データを検証します

1

どのように私は、データがInpect要素

を持つユーザーの編集ページには、それを当然のサーバ側にを確認しても、120であることを確認することができます。

if (strlen($_POST['data']) > 120) // some error 

ない大した

注意あなたが使用している代名詞。
「あなた」(「私たち」と仮定します)は、サーバー側にのみ使用できます。
クライアント側は「彼ら」ですが、これはあなたが少しでもコントロールしていない人のコンピュータです。

0

Google Chromeの 'Inspect Element'機能は優れたツールですが、ページを操作することができると言われています。これは以前はAppleとMicrosoftで「違法なハック」と呼ばれていました。これを止める方法はありません。インライン検証を使用してみてください。

+0

Inspect ElementはFirebugと同様に神聖なものです。これらのツールの使い方を知っている人(「これは何ですか?」)以外にも、サーバーに直接POSTリクエストを送信する方法がわかります。そして、何度も、サードパーティーのサイトのDOMをハックして、フォームには何もしないようにしてはいけませんでしたが、何かやっていたことがあるのですが、何かかわいいjavascriptがフォームの流れを壊しました他のボックスが選択されていない限りアドレスフィールドが隠されていたようですが、ページがリロードされたためにそのボックスがアクティブではありませんでした。 – Anthony

+0

私はそれが役に立たないと言っているわけではない、私はそれを愛する!他の人はそうではありません:) –