input 필드에 숫자만 입력받기

– 출처 : http://webskills.kr/archives/310

 

서버단 패스워드 유효성 검증 로직

Java Filter 를 이용하여 XSS (크로스 사이트 스크립트) 를 처리하자

* 출처 : http://nestofeagle.egloos.com/1809584

업로드한 파일 2가지를 Java파일로 생성 후 아래 소스 코드를 web.xml에 추가

<filter>
<filter-name>XSS</filter-name>
<filter-class>xxx.xxxxx.xxx(패키지경로).CrossScriptingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>XSS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

위에서 filter-class 경로는 자신이 만든 CrossScriptingFilter.java 패키지 경로 삽입

Filter 관련 Java 파일

[Tip] Http Method (GET, POST, HEAD, PUT, DELETE, TRACE) 제한하기

* 출처 : http://jedagi.tistory.com/90

보안때문에 GET, POST, HEAD 정도만 사용하고 PUT, DELETE, TRACE는 막아두는데

방법은  WEB-INF\ web.xml에 코드 추가

    <security-constraint>
<display-name>openCoss http Auth</display-name>
<web-resource-collection>
<web-resource-name>SecureFile</web-resource-name>
<url-pattern>/*</url-pattern>
<!–
<http-method>GET</http-method>
            <http-method>POST</http-method>
–>
<http-method>HEAD</http-method>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
<http-method>TRACE</http-method>
</web-resource-collection><auth-constraint>
<role-name>openCmsAuth</role-name>
</auth-constraint>
</security-constraint>

확인 하는 어플은 간단게 만들었다….

httpMethodCheck

only my railgun 가사

放て!心に刻んだ夢を 未?さえ置き去りにして
하나테!코코로니 키잔다 유메오 미라이사에 오키자리니 시테
쏴버려! 마음에 새긴 꿈을 미래마저도 내버려둔 채로 

限界など知らない 意味無い!
겐카이나도 시라나이 이미 나이!
한계따윈 몰라, 의미없지! 

この能力(チカラ)が光散らす その先に?かな想いを
코노 치카라가 히카리 치라스 소노 사키니 하루카나 오모이오
이 힘이 빛을 뿌리는 그 너머에 있을 머나먼 마음을 

步いてきた この道を 振り返ることしか
아루이테키타 코노 미치오 후리카에루 코토시카
걸어왔던 이 길을 돌아보는 것 밖에 

出?ないなら…今ここで全てを?せる
데키나이나라…이마 코코데 스베테오 코와세루
할 수 없다면…지금 여기서 모든 걸 부숴버리겠어 

暗闇に墜ちる街?み 人はどこまで立ち向かえるの?
쿠라야미니 오치루 마치나미 히토와 도코마데 타치무카에루노?
칠흑같은 어둠으로 떨어지는 거리에서 사람들은 어디까지 맞서싸울 수 있을까? 

加速するその痛みから 誰かをきっと守れるよ
카소쿠스루 소노 이타미카라 다레카오 킷토 마모레루요
가속하는 그 고통으로부터 누군가를 반드시 지킬 수 있을거야 

Looking!
보라!
The blitz loop this planet to search way.
반복되는 전격에 잠긴 이 거리를 

Only my RAILGUN can shoot it. 今すぐ
Only my RAILGUN can shoot it. 이마 스구
나만의 레일건으로 쏠 수 있어, 지금 당장이라도 

身?中を 光の速さで
카라다쥬우오 히카리노 하야사데
온 몸을 빛의 속도로 

?け巡った 確かな予感
카케메굿타 타시카나 요칸
훑고 지나간 분명한 예감 

つかめ!望むものなら?さず 輝ける自分らしさで
츠카메!노조무 모노나라 노코사즈 카가야케루 지분라시사데
붙잡아! 바라는 것이라면 남김없이 나답게 빛날 수 있을거야 

信じてるよ あの日の誓いを
신지테루요 아노 히노 치카이오
믿고 있어, 그 날의 맹세를 

この瞳に光る? それさえも?さになるから
코노 히토미니 히카루 나미다 소레사에모 츠요사니 나루카라
이 눈동자에 반짝이는 눈물마저도 내 힘이 되어줄테니까 

立ち止まると 少しだけ 感じる切なさに
타치도마루토 스코시다케 칸지루 세츠나사니
멈춰서면 조금씩 느껴지는 괴로움에 

戶惑う事 無いなんて噓はつかないよ
토마도우코토 나이난테 우소와 츠카나이요
망설인 적 없다는 거짓말은 하지 않겠어 

宙(そら)に舞うコインが描く 放物線が決める運命
소라니 마우 코인가 에가쿠 호오부츠센 가키메루 운메이
하늘에 날려진 동전이 그리는 포물선이 정하는 운명 

打ち出した答えが今日も 私の胸を?け巡る
우치다시타 코타에가 쿄오모 와타시노 무네오 카케메구루
쏘아버린 해답이 오늘도 내 가슴 속을 질주하네 

Sparking!
번뜩여라!
The shiny lights awake true desire.
내 진정한 바램을 깨우는 빛을 

Only my RAILGUN can shoot it. 必ず
Only my RAILGUN can shoot it. 카나라즈
나만의 레일건으로 쏠 수 있어, 반드시 

貫いてく 途惑うことなく
츠라누이테쿠 토마도우 코토 나쿠
꿰뚫어버릴거야, 한 치 망설임없이 

傷ついても 走り?ける
키즈츠이테모 하시리츠즈케루
상처입을지라도 계속 달려나가겠어 

狙え!凜と煌く視線は 狂い無く闇を切り裂く
네라이! 우테토 키라메쿠 시세은와 쿠루이 나쿠 야미오 키리사쿠
노려라! 휘번뜩이는 시선은 엇나가지 않고 어둠을 찢어발기리 

迷いなんて 吹き飛ばせばいい
마요이난테 후키토바 세바이이
망설임 같은 건 날려버리면 돼 

この心が叫ぶ限り 誰ひとり邪魔などさせない
코노 코코로가 사케부카기리 다레 히토리 쟈마나도 사세나이
이 마음이 외치고 있는 한 그 누구도 방해하지 못해 

?く舞う 無?の願いは
하카나쿠 마우 무스우노 네가이와
덧없이 날리는 수많은 소망들은 

この?手に 績もってゆく
코노 료오테니 츠못테유쿠
내 양 손에 쌓여만 가 

切り裂く闇に 見えてくるのは
키리사쿠 야미니 미에테쿠루노와
찢어발긴 어둠 속에서 보이는 건 

重く深く 切ない記憶
오모쿠 후카쿠 세츠나이 키오쿠
무겁고도 깊은 안타까운 기억 

色褪せてく 現實に?れる
이로아세테쿠 겐지츠니 유레루
빛이 바래가고 현실에 흔들리는 

絶望には 負けたくない
제츠보오니와 마케타쿠나이
절망 따위엔 지고 싶지 않아 

私が今 私であること
와타시가 이마 와타시데 아루 코토
내가 지금 나 자신으로 존재하는 것을 

胸を張って 全て誇れる!
무네오 핫테 스베테 호코레루!
가슴을 펴고 자신할 수 있어!

 Looking!
보라!
The blitz loop this planet to search way.
반복되는 전격에 잠긴 이 별의 거리를 

Only my RAILGUN can shoot it 今すぐ
Only my RAILGUN can shoot it 이마 스구
나만의 레일건으로 쏠 수 있어, 지금 당장이라도 

身?中を 光の速さで
카라다쥬우오 히카리노 하야사데
온 몸을 빛의 속도로 

?け巡った 確かな予感
카케메굿타 타시카나 요칸
훑고 지나간 분명한 예감

 放て!心に刻んだ夢を 未?さえ置き去りにして
하나테!코코로니 키잔다 유메오 미라이사에 오키자리니 시테
쏴버려! 마음에 새긴 꿈을 미래마저도 내버려둔 채로 

限界など知らない 意味無い!
겐카이나도 시라나이 이미 나이!
한계따윈 몰라, 의미없지! 

この能力(チカラ)が光散らす その先に?かな想いを
코노 치카라가 히카리 치라스 소노 사키니 하루카나 오모이오
이 힘이 빛을 뿌리는 그 너머에 있을 머나먼 마음을 

모바일 기기 접속시 모바일 페이지로 이동 스크립트

/**
* 모바일 페이지 강제 이동
*/
//Mobile여부를 구분하기 위함
var uAgent = navigator.userAgent.toLowerCase();
// 아래는 모바일 장치들의 모바일 페이지 접속을위한 스크립트
var mobilePhones = new Array(‘iphone’, ‘ipod’, ‘ipad’, ‘android’, ‘blackberry’, ‘windows ce’,’nokia’, ‘webos’, ‘opera mini’, ‘sonyericsson’, ‘opera mobi’, ‘iemobile’);
for (var i = 0; i < mobilePhones.length; i++){
if (uAgent.indexOf(mobilePhones[i]) != -1){
location.href=”/mobile/home/main.do”;
}
};

[CSS] 텍스트 범위 벗어나면 숨기고 … 붙이기

* 출처 : http://saybox.tistory.com/70

<div style=”width:100;text-overflow:ellipsis;overflow:hidden”>abcdefghight1234567890</div>
결과 :
abcdefghig…
IE 6.0 이상에서 적용되며 div 에서 사용시 폭을 벗어난 글자는 숨기고 “…” 처리 해줌.
굿이 일일이 php 에서 길이계산후 “…” 처리 안해도 손쉽게 적용 가능

[MSSQL] update – replace : 기존의 데이터 변경하기

* 출처 : http://www.happyjung.com/bbs/board.php?bo_table=lecture&wr_id=1096

특정 컬럼의 문자들을 부분적으로 변경하고 싶을때 자바, 오라클, mssql 도 replace함수를 사용합니다.

사용법
replace( ‘대상문자열’, ‘기존데이터’, ‘바꿀데이터’)
select replace([칼럼명], ‘기존데이터’, ‘바꿀데이터’), * from [테이블명]
update [테이블명] set [컬럼명] = replace([컬럼명],’기존데이터’,’바꿀데이터’)

예1) 일반컬럼

subject 라는 칼럼에 ‘345’ 를 ‘asas’ 로 변경
변경될 자료 미리 확인
select replace(subject, ‘345’, ‘asas’), * from tblBoard where bdOptIdx = ’68’

위에서 변경될 자료를 미리 본후 이상없으면 아래 쿼리 실행
update tblBoard set subject = replace(subject, ‘345’, ‘asas’) where bdOptIdx = ’68’

예2) 숫자컬럼
regDate 라는 datetime 컬럼에 ‘2012-01-17 12:22:35:66’ 의 자료에서
2012-01-17 만 2008-03-21 로 변경하고자 할때

select replace(regDate, ‘2012-01-17’, ‘2008-03-21′), * from tblBoard where bdOptIdx = ’68’

update tblBoard set regDate = replace(regDate, ‘2012-01-17’, ‘2008-03-21′) where bdOptIdx = ’68’
요렇게 하면 변경이 안됩니다.
날짜 형식은 저장되는 순서가 다르기 때문에 아래와 같이 convert 함수를 함께 사용해야 합니다.

update tblBoard set regDate = replace(convert(char(10), regDate, 112), ‘20120117’, ‘20080321’) where bdOptIdx = ’68’

update tblBoard set regDate = replace(convert(char(10), regDate, 20), ‘2012-01-17 13:50:45’, ‘2008-03-21 13:50:45′) where bdOptIdx = ’68’

update tblBoard set regDate = replace(convert(char(10), regDate, 20), ‘2012-11-05’, ‘2012-07-09′) where bdOptIdx =’4′ and bdidx = ’17’

결과값이 아래와 같이 보여도 정상변경된것입니다.
(186 row(s) affected)

관련자료
http://ellieya.tistory.com/66
http://blog.naver.com/westlee25/150078828020

[Tip] 윈도우 소켓이 80포트를 물고 있어서 Windows socket error가 발생시

* 출처 : http://allreview.co.kr/130175671911

TCP/IP, 소켓(winsock), DNS 초기화 명령어

IP주소는 정상으로 할당 받았으나, 인터넷 페이지가 열리지 않거나 특정 프로그램이 인터넷 접근이 안되는 경우.
CMD를 관리자 권한으로 실행 후, 아래 명령어를 입력합니다.

TCP/IP 재 설정 – http://support.microsoft.com/kb/299357
netsh int ip reset log.txt

winsock 연결 재 설정 – http://support.microsoft.com/kb/811259
netsh winsock reset

DNS 재 설정
ipconfig /flushdns

일반적으로 TCP/IP 를 재 설정하면 복구됩니다.
작업 진행 전 반드시 시스템 복원 지점을 생성하십시오.