https://issues.apache.org/jira/browse/DBCP-270

 

common-pool 1.4와 common-dbcp 1.2.2 을 사용하면 데드락이 일어날 수 있다. 

 

common-dbcp 1.3에서 패치되었다.

 

Posted by '김용환'
,

쿼리 스트링 ID를 가지고 특정 action(URL)로 보내되, 파라미터는 날린다.  (QSA 반대)

 

Rewritecond를 이용하여 query string을 비교하고,

RewriteRule의 Substitute 의 query string을 날릴 수 있다.

 

Rewritecond %{query_string} ^id=(.*)
RewriteRule   ^/google/flash.axs                    http://flash.google.com/%1?  [R,L]

 

 

Posted by '김용환'
,

    RewriteCond %{REQUEST_URI} !^/common/(.*)$
     RewriteRule ^.*$ http://www.google.com/gmail.php [R,L]

 

rewrite룰을 이렇게 사용하여 exclude 개념을 쓸 수 있다.

뒤에 더 나오는 RewriteRule의 영향을 받지 않기 하기 위해서, 꼭 L 옵션을 넣어주어야 한다.

Posted by '김용환'
,

자바스크립트 Dom 객체 생성하기

 

  var type = document.createElement("input");
  type.name = "type";
  type.value = document.underform.value;
  document.underform.appendChild(type);

 

 

 

 

<form method="post" action="/under/emergency.nhn" name="underform">
 <input type="hidden" name="m" value="update"/>
    <input type="hidden" name="underid" value="${under.underid}" />
    <input type="hidden" name="listUrl" value="${param.listUrl}"/>

'web' 카테고리의 다른 글

아파치 query string 붙이지 않고 날리기  (0) 2009.01.31
rewrite에서 exclude 사용하기  (0) 2009.01.30
인증서 문제  (0) 2008.12.15
Apache SSL 서버 만들기  (0) 2008.11.25
SQL Injection 공격에 따른 웹 어플 대응 (java)  (0) 2008.11.07
Posted by '김용환'
,

인증서 문제

web 2008. 12. 15. 23:17

ssl 서버를 구축할 때, 다음의 문제가 생겼다.

 

 

[Mon Dec 15 11:34:07 2008] [warn] RSA server certificate CommonName (CN) `VeriSign Trial Secure Server Test Root CA' does NOT match server name!?
[Mon Dec 15 11:34:07 2008] [error] Unable to configure RSA server private key
[Mon Dec 15 11:34:07 2008] [error] SSL Library Error: 185073780 error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch

 

해결은

openssl x509 -noout -text -in ssl_2008_customer.crt

openssl rsa -noout -text -in ssl_2008_customer.nodes.key

 

이 두개의 modulus가 동일을 한지 확인하면 된다. 서로 같지 않으므로, 이 것은 제대로 ssl을 전달해주지 못한 것으로 판단

 

 

 


출처
http://www.enterprisessl.com/ssl-certificate-support/server_faq/ssl-server-certificate-apache.html


Error: "OpenSSL:error:0B080074:x509 certificate outines:x509_check_private_key:key values mismatch"
This error message occurs if you are using the incorrect certificate or private key during installation. So you need to use the matching key and certificate files.
To check that the public key in your cert matches the public portion of your private key, view both files, and compare the modulus values with the following instructions:
To view the certificate:
openssl x509 -noout -text -in certfile
To view the key:
openssl rsa -noout -text -in keyfile

The "modulus" and "public exponent" portions in the key and the certificate must match exactly. If the "modulus" do not match exactly then you are using either the incorrect private key or certificate.

 

 

 

'web' 카테고리의 다른 글

rewrite에서 exclude 사용하기  (0) 2009.01.30
자바스크립트 - Dom 생성하기  (0) 2009.01.06
Apache SSL 서버 만들기  (0) 2008.11.25
SQL Injection 공격에 따른 웹 어플 대응 (java)  (0) 2008.11.07
아파치에서 MaxClients 수정  (0) 2008.09.02
Posted by '김용환'
,

Apache SSL 서버 만들기

web 2008. 11. 25. 06:15

 

1) openssl 확인 할 것

 

rpm -qa | grep openssl


openssl-devel-0.9.7a-43.17.el4_6.1
xmlsec1-openssl-1.2.6-3
openssl-0.9.7a-43.17.el4_6.1
openssl096b-0.9.6b-22.46

 

2) 개인키 생성

openssl genrsa -des3 -out 파일명.key 1024

(패스워드 대충 치기)

 

3) 개인키 확인

openssl rsa -noout -text -in  파일.key

 

4) CSR 파일 생성

openssl req -new -key ssl_2008_pubids.nodes.key -out ssl_2008_pubids.csr

 

5) 인증서 받기

http://www.verisign.com 에 접속하여 FREE SSL Trial 을 클릭합니다.

원래는 돈주고 사야 하나.. 14 일짜리 trial을 신청하고, 이메일을 통해서 인증서를 받는다.

다른 것은 대충 써도 되나, 이메일만큼은 정확하게 쓸 것!!

 

After testing your Trial SSL Certificate, you will need to purchase a full-service Secure Site SSL Certificate.
As VeriSign has a full range of products to choose from, a sales representative will contact you to assist in
implementing an appropriate security solution specific to your business requirements. Should you wish to contact
our sales person immediately, please dial (866) 893-6565 option 3 or send an email to internet-sales@verisign.com.

Thank you for your interest in VeriSign!

 

6) 메일의 인증서를 복사하고 사용

   임의의파일명.crt 의 파일명을 만든다.

 

cat > 파일명.crt

-----BEGIN CERTIFICATE-----

...

-----END CERTIFICATE-----

 

7) 아파치 설정 추가

 <IfModule mod_ssl.c>
        SSLRandomSeed startup builtin
        SSLRandomSeed connect builtin
        Listen 443
        AddType application/x-x509-ca-cert .crt
        AddType application/x-pkcs7-crl    .crl
        SSLPassPhraseDialog  builtin
        SSLSessionCache         dbm:/usr/local/apache/logs/ssl_scache
        SSLSessionCacheTimeout  300
        SSLMutex  file:/usr/local/apache/logs/ssl_mutex
</IfModule>

<VirtualHost *:443>
    DocumentRoot /usr/local/tomcat/webapps/ROOT
    Servername *.google.com

.....

 

        <IfModule mod_ssl.c>
                SSLEngine on
                SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:!SSLv2:+EXP:+eNULL
                SSLCertificateFile /usr/local/apache/conf/ssl.crt
                SSLCertificateKeyFile /usr/local/apache/conf/ssl.key
                SSLCACertificateFile /usr/local/apache/conf/ssl.intermediate
                <Directory "/usr/local/apache/cgi-bin">
                SSLOptions +StdEnvVars
                </Directory>
                SetEnvIf User-Agent ".*MSIE.*" \
            nokeepalive ssl-unclean-shutdown \
            downgrade-1.0 force-response-1.0
        </IfModule>
</VirtualHost>  

 

 

8) 아파치 리스타트

'web' 카테고리의 다른 글

자바스크립트 - Dom 생성하기  (0) 2009.01.06
인증서 문제  (0) 2008.12.15
SQL Injection 공격에 따른 웹 어플 대응 (java)  (0) 2008.11.07
아파치에서 MaxClients 수정  (0) 2008.09.02
oscache 사용 간단기  (0) 2008.08.27
Posted by '김용환'
,

apache-java(webwork, 또는 struts2)를 사용하고 있는데.

 

SQL Injection 공격이 들어왔는데, 약간 잘못되게 들어와서 귀찮게 하는 경우의 방어를 이렇게 하였다.

 

1. 아파치 막음

  - 패턴을 찾아 막는다.

  - ip, referer, form 패턴을 찾아서 막는다.

 

2. 어플단 막음

  - 1. Action단에서 막음 (webwork)

    2. 전체 Action(global)을 막음 (webwork)

    3. 자바 소스안에서 막는다.

 

 

이중 webwork단에서 막는 법을 잠깐 소개한다. 사실 나는 원천적적으로 봉쇄하는 아파치 막음을 더욱 더 선호한다.

1. 한 Action 에서 발생하는 처리

<action name="simple" class="com.google.gmail.SimipleAction">
  <exception-mapping exception="java.lang.NoSuchMethodException" result="redirect"/>

  <exception-mapping exception="SQLException" result="redirect"/>
  <result name="redirect" type="redirect">redirect.jsp</result>
</action>

 

2. webwork 설정 파일에서 특정 Exception 발생시 처리

 

 <global-results> 
  <result name="redirect" type="redirect">redirect.jsp</result>
 </global-results> 

 <global-exception-mappings> 
  <exception-mapping exception="java.lang.NoSuchMethodException" result="redirect"/>

  <exception-mapping exception="SQLException" result="redirect"/>
</global-exception-mappings>

 

 

'web' 카테고리의 다른 글

인증서 문제  (0) 2008.12.15
Apache SSL 서버 만들기  (0) 2008.11.25
아파치에서 MaxClients 수정  (0) 2008.09.02
oscache 사용 간단기  (0) 2008.08.27
인터넷 익스플로러 버전별 유저 에이전트 정리  (0) 2008.08.14
Posted by '김용환'
,

 

아파치 웹 서버에서 MaxClients를 256이상의 값으로 수정을 하려면  다음의 에러가 발생된다.

WARNING: MaxClients of 1024 exceeds ServerLimit value of 256 servers,
 lowering MaxClients to 256.  To increase, please see the ServerLimit
 directive.

 

 

홈/server/mpm/prefork/prefork.c파일에서 DEFAULT_SERVER_LIMIT 256 를 1024 로 수정.

 

 


 

Posted by '김용환'
,

oscache 사용 간단기

web 2008. 8. 27. 00:05

참조

http://www.opensymphony.com/oscache/wiki/Cron%20Expressions.html

 

 

<cache:cache  key="oscacheTest" scope="application" cron="0 2 * * * ">

 <b>Test </b><br><br>

<%

  List list = action.excute(); // DB에서 데이타 가져오기.

  Entity entity = null;

  for(int i=0;i<list.size();i++) {

   entity = (Entity)list.get(i);

%>

<%= entity.getMethod() %> <br>

<% }%>

</cache:cache>

Posted by '김용환'
,

 

 

 

 

윈도우즈 95 + 인터넷 익스플로러 1.0
Microsoft Internet Explorer/4.0b1 (Windows 95)

윈도우즈 NT + 인터넷 익스플로러 1.5
Mozilla/1.22 (compatible; MSIE 1.5; Windows NT)

윈도우즈 95 + 인터넷 익스플로러 2.0
Mozilla/1.22 (compatible; MSIE 2.0; Windows 95)

윈도우즈 98 + 인터넷 익스플로러 3.01
Mozilla/2.0 (compatible; MSIE 3.01; Windows 98)

SunOS + 인터넷 익스플로러 5.0
Mozilla/4.0 (compatible; MSIE 5.0; SunOS 5.9 sun4u; X11)

윈도우즈 2000 + 인터넷 익스플로러 5.0.1
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

Mac OS 9 + 인터넷 익스플로러 5.1.7
Mozilla/4.0 (compatible; MSIE 5.17; Mac_PowerPC)

Mac OS X + 인터넷 익스플로러 5.2.3
Mozilla/4.0 (compatible; MSIE 5.23; Mac_PowerPC)

윈도우즈 2000 + 인터넷 익스플로러 5.5
Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)

윈도우즈 98 + 인터넷 익스플로러 6.0 + MSN 2.5
Mozilla/4.0 (compatible; MSIE 6.0; MSN 2.5; Windows 98)

윈도우즈 XP 서비스팩2 + 인터넷 익스플로러 6.0
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)

윈도우즈 XP 서비스팩2 + 인터넷 익스플로러 6.0 + .NET 프레임워크 1.1
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)

윈도우즈 XP 서비스팩2 + 인터넷 익스플로러 6.0 + .NET 프레임워크 2.0
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)

윈도우즈 XP 미디어센터 2005 서비스팩2 + 인터넷 익스플로러 6.0 + .NET 프레임워크 1.0, 1.1, 2.0
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0; .NET CLR 2.0.50727)

윈도우즈 서버 2003 서비스팩1 + 인터넷 익스플로러 6.0 + .NET 프레임워크 1.1
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)

윈도우즈 XP + 인터넷 익스플로러 7.0 베타
Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1)

윈도우즈 XP + 인터넷 익스플로러 7.0 베타1
Mozilla/4.0 (compatible; MSIE 7.0b; Win32)

윈도우즈 비스타 + 인터넷 익스플로러 7.0 베타
Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)

윈도우즈 XP 서비스팩2 + 인터넷 익스플로러 7.0 베타2
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; Arcor 5.005; .NET CLR 1.0.3705; .NET CLR 1.1.4322)

윈도우즈 XP 서비스팩2 + 인터넷 익스플로러 7.0
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; YPC 3.0.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)

윈도우즈 비스타 + 인터넷 익스플로러 7.0
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)

출처: http://en.wikipedia.org/wiki/User_agent

'web' 카테고리의 다른 글

아파치에서 MaxClients 수정  (0) 2008.09.02
oscache 사용 간단기  (0) 2008.08.27
httpd not running, trying to start 아파치 에러  (1) 2008.07.09
외부폼과 통신할때 한글 처리하기  (0) 2008.07.01
쿠키값 보기  (0) 2008.06.11
Posted by '김용환'
,