조치사항
[패턴문자]
\r \n

- 패턴 문자 필터링

JSP SQL Injection 시큐어 코딩


page.jsp 파일에서
String param = request.getParameter('field');

Pattern PreventChar = Pattern.compile("['\"\\-#()@;=*/+]");
String filteredData = PreventChar.matcher(param).replaceAll("");

OR

String[] PreventChars = {"\r","\n"...} //위 표에 있는 데이터 나열함.

for (int i=0; i< PreventChars.length; i++) {
if(param.indexOf(PreventChars[i]) != -1){
System.out.println("금지된 키워드 사용입니다.");
return false;
}
}





      
      

PHP SQL Injection 시큐어 코딩


page.php파일에서
$param = $_POST['field'] or $_GET['field'];

$filtereddata = htmlspecialchars($param);
$filtereddata = strip_tags($filtereddata);
$filtereddata = mysql_real_escape_string($filtereddata);

OR

$PreventChars = array("'","\""...); //위 표에 있는 데이터 나열함.

foreach($PreventChars as $keyword){
$param = str_replace($keyword,"",$param);
}






      
      

ASP.NET (C#) 시큐어 코딩(MSDN 참조)

[페 이지 소스수정]

[page.aspx]

<%@ Page Language="C#" ValidateRequest="false"%>

<script runat="server">

  void submitBtn_Click(object sender, EventArgs e)
  {
    string[] patterns = {"./"...}; 위 표에 나열된 데이터 나열함
    // Encode the string input
    StringBuilder sb = new StringBuilder(HttpUtility.HtmlEncode(htmlInputTxt.Text));
    for(int i=0; i<patterns.length; i++){
     if(pattens[i].indexOf(sb.ToString()) > 0){
      sb.Replace(pattenrs[i],"");
     }
    }
    Response.Write(sb.ToString());
  }
</script>

<html>
  <body>
    <form id="form1" runat="server">
      <div>
        <asp:TextBox ID="htmlInputTxt" Runat="server"
                     TextMode="MultiLine" Width="318px"
                     Height="168px"></asp:TextBox>
        <asp:Button ID="submitBtn" Runat="server"
                     Text="Submit" OnClick="submitBtn_Click" />
      </div>
    </form>
  </body>
</html>