<%@ page import="java.util.*"
%>
<%@ page import="java.io.*"
%>
<%!
/**
* convert unicode code set to local code code
set(KSC5601)
* @param String uniStr
* @return String
*
@exception java.io.UnsupportedEncodingException
*/
public static
String toLocalCode(String src) throws UnsupportedEncodingException
{
if (src == null)
return null;
return new String(src.getBytes("8859_1"), "KSC5601");
}
/**
* 특정 특수문자가 있는지 체크한다.
* @param str
* @param
checkChar 체크할 문자
* @return boolean
*/
public static boolean
checkString( String str, char[] checkChar )
{
boolean bFlag =
false;
if ( str == null || "".equals(str) ) return bFlag;
char[] arr = str.toCharArray();
StringBuffer sb = new
StringBuffer();
for (int i=0;i<arr.length;i++)
{
for (int k=0;k<checkChar.length;k++)
{
// System.out.println("arr["+i+"]====="+arr[k]+
"=============checkchar["+k+"]"+ checkChar[k]);
if ( arr[i]
== checkChar[k] )
{
bFlag =
true;
break;
}
}
}
return bFlag;
}
%>
<%
try
{
char[]
checkChar =
{'^','$','-','+','*','=','<','>','\\','/','[',']','%'};
Enumeration e
= request.getParameterNames();
while( e.hasMoreElements()
)
{
String name = (String)e.nextElement();
String value =
"";
if (request.getMethod().equals("GET")){
value =
toLocalCode(request.getParameter(name));
value =
request.getParameter(name);
}
else {
value =
request.getParameter(name);
}
// out.println("name="+name+"<br>");
// out.println("value="+value+"<br>");
if ( checkString(value,checkChar) )
{
out.println("<script
language=\"JavaScript\">");
out.println("alert('파라미터에
허용하지 않는 문자가
존재합니다."+"');");
out.println("this.history.back();");
out.println("</script>");
break;
}
}
}
catch(Exception
e)
{
}
%>
'이카루스의 날개 > JSP' 카테고리의 다른 글
세션에서 값 가져오기 (0) | 2007.01.29 |
---|---|
세션셋팅 (0) | 2007.01.29 |
[펌글]HOW-TO Using apache authorization (0) | 2007.01.29 |
JSP에서 if로 조건주기 (0) | 2007.01.29 |
특수문자 거르는 스크립트 (0) | 2007.01.29 |
댓글