2012-04-04 4 views
1

テキストボックスとテキストボックスにあるものを保存するバックエンドで保存プロシージャを実行する単純なボタンコントロールといくつかのテキストボックスを持つ.netフォーム(c#データベース。これは、それを使用している信頼できるユーザーのみがいる内部システム用です。いずれのボックスにも現在のところ検証はありません。フォームボタンはテキストボックス内の特定の文字で自動的に無効になります

システムは機能しますが、ページの任意のテキストボックスに開始タグまたは終了タグの文字( "<"または ">")が入力されていると、ボタンは自動的に無効になります。あなたはそれをクリックしても何も起こりません(私は先に進み、保存ボタンのブレークポイントを通って、まったく解雇されていないかどうかを確認します)

私はこれが何らかの組込みメカニズムであると仮定していますWebフォームでおそらくSQLインジェクション攻撃や何かを防ぐために?それを無効にする方法はありますか?

- 関連するコードを追加するための編集。最初の場所では発射されないので、保存ボタンの機能については深くは触れていないことに注意してください。テキストボックス(txtText_Box1)に "<"または ">"がないと問題なく正常に動作します。

<b>Title</b><br /> 
     <asp:TextBox ID="txtTitle_Box1" runat="server" Width="600px"></asp:TextBox><br /><br /> 
     <b>Text</b><br /> 
     <asp:TextBox ID="txtText_Box1" runat="server" Width="600px" TextMode="MultiLine" Rows="4"></asp:TextBox><br /><br /> 
     <b>Link To</b><br /> 
     <asp:TextBox ID="txtLink_Box1" runat="server" Width="600px" /><br /><br /> 
     <b>Link Text (always ends with >>)</b><br /> 
     <asp:TextBox ID="txtLinkText_Box1" runat="server" Width="600px" /><br /><br /> 
     <b>Image</b><br /> 
     <asp:Image id="imgBox4" runat="server" /><br /><br /> 
     <br /><br /> 
     <asp:Button ID="btnSave" runat="server" Text="Save Changes" CssClass="cssButton1" OnClick="btnSave_Click" /> 


    protected void btnSave_Click(object sender, EventArgs args) 
    { 

      string sTitle = string.Empty; 
      string sText = string.Empty; 
      string sURL = string.Empty; 
      string sLinkText = string.Empty; 

      sTitle = txtTitle_Box1.Text.ToString(); 
      sText = txtText_Box1.Text.ToString(); 
      sURL = txtLink_Box1.Text.ToString(); 
      sLinkText = txtLinkText_Box1.Text.ToString(); 

      .... 

    } 
+0

これはwinformですか、これはウェブアプリですか?また、既定でコードを無効にしたり破ったりする<>文字については聞いていません。 – CBRRacer

+1

可能であれば、マークアップと関連するコードを投稿してください。 –

+0

ウェブアプリ、混乱して申し訳ありません。コードを1秒で投稿します。 – optionsix

答えて

0

試行錯誤のあと、私はボタンを押した1文字に絞った。 "<"、SQLインジェクション攻撃で最も流行しているものを含め、キーボードの1文字おきに正常に動作します。私は実際に問題を "修正"しなかったが、回避策を実装してエスケープ文字を入れた。 "<"の代わりに "::"非常にばかげているように見えますが、なぜこれが起こっているのかまだ分かりませんが、それは私の問題を過ぎてしまいます。もし誰かがより良いアイデアを持っているなら、私は確かにこの回答をキャンセルし、あなたに完全な信用を与えるよう依頼します。

関連する問題