2016-04-28 6 views
1

私はインターネット経由で多くの情報源を使ってこのフォームを作成できました。しかし、それが何らかの休憩に対して良いのかどうかはわかりません。このHTML入力フォームは安全ですか?

 <form action="/some/server/some.cgi" method="POST"> 
      <fieldset> 
       <legend>contact me:</legend> 
       <input type="hidden" name="recipient" 
       value="[email protected]"> 
       <input type="hidden" name="subject" 
      value="message "> 
       <br> 
       <br> 
       <table> 
        <tr> 
         <td> 
          <input type="text" name="name" 
       placeholder="Your Name please" size="30" 
      maxlength="30" title="Your name (no numbers)" 
     pattern="[a-zA-Z]{2,30}" required> 
         </td> 
        </tr> 

        <tr> 
         <td> 

          <input type="email" value="email" 
      name="email" placeholder="Provide valid email please" 
       pattern="[a-z0-9._%+-][email protected][a-z0-9.-]+\.[a-z]{2,3}$" 
       title="Your VALID email address" size="30" 
      maxlength="50" required> 

         </td> 
        </tr> 
        <tr> 
         <td> 
          <input type="text" name="message" 
      placeholder="Message" size="30" maxlength="200" 

      title="Long text is not allowed" 
        pattern="[a-zA-Z0-9\s]{5,200}" required> 
         </td> 
        </tr> 
        <tr> 
         <td> 
          <input type="submit" value="Send" 
        name="Submit"> 
         </td> 
        </tr> 
       </table> 
      </fieldset> 
     </form> 

私はregExを初めて使用しており、このフォームで発生する可能性のある問題を知りたいと考えています。ありがとう

+0

フォーム自体はセキュリティ上の懸念事項ではありません。それはあなたが問題に遭遇することができるコードの背後にある入力を(データベースを使用する場合は特に)扱う方法です。 – JaggenSWE

答えて

1

フォームが安全であるかどうかにかかわらず、Oneは特にありません。それは常に攻撃者の考え方に依存します。ハッカーは、特定のフォームをバイパスするために多くの創造的な方法が考えられます。

クライアントサイドのHTML andJavaScriptが 任意の方法を操作することができるので、上で動作する主な場所は、保障されない クライアント側のサーバー側です。とにかく

あなたはこれらのリンクを参照することができます:あなたができるようにしたい場合は...

code.tutsplus.com/tutorials/secure-your-forms-with-orm-keys--net-4753" 
www.youtube.com/watch?v=ATBdUB-aXko" 
www.formstack.com/features/security 
+0

こんにちは、thx、有用なリンク – elchinsolo

+0

私の答えをupvoteまたはそれを受け入れる。 –

0

あなたの正規表現がそれを許可されませんので、あなたがスペースを提供することはできません名]フィールドにスペースは以下のパターンを変更してください

[a-z A-Z]{2,30} 
+0

こんにちは、私はメッセージのための第3の名前の入力を使用し、それは今働いている白いスペースで、私はちょうどサイトのデザインを台無しにしない調整可能なテキストエリアを追加したくありません。あなたは名前と空白の問題を知っていますか? – elchinsolo

+0

あなたの名前欄に姓が含まれていない場合は、スペースをスキップできることを意味します。 – parthi

0

正規表現は有効なメールアドレスを拒否します。クライアント側のデータ検証は、アプリケーションを破壊しようとしている人に対する保護を提供しません。 「パターン」属性は(メモリから)かなり最近の追加であり、Safaraiや古いブラウザでは無視されます。

"安全"の基準は何ですか?

+0

'安全な'の基準に関する良い質問ですが、一括メッセージやスパムを受信したくありません。実際のセキュリティはcgiスクリプトを使用します。私はcaptchaを使用するのが好きではなく、フォームにパターンを追加すると、スパムボットが自分のメールを満たすのが難しくなるかどうかを決めました。 – elchinsolo

+0

多くの迷惑メールを受け取ったことは、あなたの心配ではありません。受信者に提出された値を使用することにより、インターネット上のオープンリレーを公開しています。 – symcbean

関連する問題