생성자 생성 시

생성자 메소드를 만들 때, null 체크를 해주면 좋을 꺼 같다.
   1: public Orc (String name , String clan) {
   2:     if ( name == null) {
   3:         throw new NullPointerException("name");
   4:     }
   5:     if (clan == null ) {
   6:         throw new NullPointerException("clan");
   7:     }
   8:     this.name = name;
   9:     this.clan = clan;
  10: }


by 상민 | 2008/08/29 13:19 | 트랙백 | 덧글(0)

Visualization Utility.

Visualization Utility.

소스코드를 이쁘게 :
너무 유명한 Doxygen
http://www.stack.nl/~dimitri/doxygen/index.html

출력 결과물을 이쁘게 :
Bell's 오픈소스
http://www.graphviz.org/
다양한 포맷으로 :
graphviz 력셔리 친구
http://www.aisee.com/
이쁘게 출력된 결과물을 표준 포맷(벡터)으로 :
graphviz와 먼 친척벌
http://www.w3.org/Graphics/SVG/
MSDN이 탐난다면 :
MSDN류 코드 문서화
http://www.doxys.dk/doxys_homepage/index.html

MSDN류 도큐먼트 문서화
http://ndoc.sourceforge.net/

by 상민 | 2008/08/29 13:14 | 트랙백 | 덧글(0)

아파치 Proxy서버 이용

주석해제

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so

ProxyPass /ssologin/ http://home.pusan.ac.kr/ssologin/
ProxyPassReverse /ssologin/ http://home.pusan.ac.kr/ssologin/

by 상민 | 2008/07/21 11:28 | WAS | 트랙백(1) | 덧글(0)

자바 작성시 고려 (Collection)

Collection API

Vector 대신 ArrayList,
Hashtable 대신 HashMap,
Enumeration 대신 Iterator

 

by 상민 | 2008/07/11 14:28 | JAVA | 트랙백 | 덧글(1)

필터를 이용한 BadChar 체크

Jboss - Web.xml파일 수정 
<filter>

        <filter-name>XSSDetectFilter</filter-name>

        <filter-class>netegrity.siteminder.imws.common.XSSDetectFilter</filter-class>

        <init-param>

            <param-name>BadChars</param-name>

            <param-value>',",%,*</param-value>

        </init-param>

        <init-param>

            <param-name>RedirectUrl</param-name>

            <param-value>/LGTIM/include/cssError.html</param-value>

        </init-param>
    <!--한글 처리문제로 추가 -->

    <init-param>
            <param-name>Encoding</param-name>
            <param-value>utf-8</param-value>
        </init-param>    </filter>

 

    <filter-mapping>

        <filter-name>XSSDetectFilter</filter-name>

        <url-pattern>/*</url-pattern>

    </filter-mapping>



서블릿 파일

package netegrity.siteminder.imws.common;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import java.util.Enumeration;


public class XSSDetectFilter implements Filter {

    protected FilterConfig filterConfig = null;

    private String[] badChars = null;
    private String redirectUrl = null;
    //private String[] ignoreExts = null;

    public void destroy() {
        this.filterConfig = null;

    }

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

        boolean isBad = false;
        boolean isIgnore = false;

        HttpServletRequest req = (HttpServletRequest)request;
        HttpServletResponse res = (HttpServletResponse)response;

        String uri = req.getRequestURI();
        String ext = uri.substring(uri.length()-3, uri.length());

        if(!ext.equals("jsp")){
            isIgnore = true;
        }

        if(!isIgnore){
            Enumeration enum = request.getParameterNames();
            while (enum.hasMoreElements()) {
                String value = request.getParameter((String)enum.nextElement());
                for(int i=0; i<badChars.length; i++){
                    if(value.indexOf(badChars[i])>=0){
                        isBad = true;
                        break;
                    }
                }
                if(isBad){
                    break;
                }
            }
            if(isBad){
                res.sendRedirect(redirectUrl);
            }else{
                chain.doFilter(request, response);
            }
        }else{
           chain.doFilter(request, response);
        }
    }

    public void init(FilterConfig filterConfig) throws ServletException {
        this.filterConfig = filterConfig;
        badChars = (filterConfig.getInitParameter("BadChars")+"<,>").split(",");
        redirectUrl = filterConfig.getInitParameter("RedirectUrl");
        //ignoreExts = filterConfig.getInitParameter("IgnoreExts").split(",");
    }
}

by 상민 | 2008/07/09 14:39 | WAS | 트랙백 | 덧글(0)

◀ 이전 페이지          다음 페이지 ▶