frame, iframe에서 쿠키, 세션 인증(로그인) 처리 안 될 때 해결 방법frame, iframe에서 쿠키, 세션 인증(로그인) 처리 안 될 때 해결 방법

Posted at 2012/03/12 19:36 | Posted in Dev/ASP
1. PHP 에서 사용

header('P3P: CP="ALL CURa ADMa DEVa TAIa OUR BUS IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC OTC"');

setcookie ("AS_IDENT",uniqid("as_"),time()+365*24*60*60,"/"); 
setcookie ("AS_VISITCNT",$visitcnt,time()+24*60*60,"/"); 

...

2. ASP 코드에서 사용


<%Response.AddHeader "P3P", "CP=ALL CURa ADMa DEVa TAIa OUR BUS IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC OTC"%>


3. IIS 서버 설정

IIS 설정에서 HTTP 헤드의 사용자 정의 HTTP 헤드에 다음을 추가

헤드 이름 : P3P 
헤드 값 : CP='CAO PSA CONi OTR OUR DEM ONL'
* IIS 재시작 필요없음(위 사항이 바로 반영이 됨), 헤드값은 홑따옴표야 한다.
저작자 표시 비영리

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

ASP 페이스북 연동ASP 페이스북 연동

Posted at 2011/12/13 14:12 | Posted in Dev/ASP


ASP 와 페이스북 연동하기...   후.....

열심히 구글링을 해본 결과..... asp 자료는 거의 없어요 ㅠㅠ  아후...

전부 PHP 아니면 닷넷 Orz

그래도 굴하지 않고 열심히 검색에 검색을 한 결과 

Facebook Query Language (FQL) 라는걸 찾아냈죠 아...

링크 : http://developers.facebook.com/docs/reference/fql/

페이스북에 있는 모든 값을 쿼리를 통해 XML 전달 받을 수 있음;;; 

링크 가보면.... (영어지만) 아실만한 내용들입니다.... ;;;

XML 값 긁어오는건 .... 검색 해보시면 많이 나옵니다~

access token 이 필요할 경우...

페이스북 - 개발자 - SDKs & Tools - Tools - Access Token Tool 클릭

링크 : https://developers.facebook.com/tools/access_token/

검색은 삽질의 어머니 
 

엄마 ㅠㅠ 
저작자 표시 비영리

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

ASP & 트위터 연동ASP & 트위터 연동

Posted at 2011/12/12 01:08 | Posted in Dev/ASP


엄청 고민함 ㅠㅠ

트위터 트윗 : http://www.cyworld.com/koffen/3501291

위의 URL 보면 너무나 잘 나와있다

그대로 따라 가기만 하면 바로 됨...

안되면.. 자기 능력이라고 포스팅 하신 분이 그러시네요 ;;;;; 

트윗 연동은 위의 포스팅 보면서 금방 했는데

문제는.... 트윗된 글을 사이트로 가져오는 거....

몇일을 삽질과 구글링과..... 후...

겨우 해결함 ㅠㅠ

https://twitter.com/statuses/user_timeline/개인ID.xml

자신의 타임라인을 XML 형태로 받을수 있음...

이거면 다 해결 ㅠㅠ



XML 을 화면에 뿌려주는건 검색 바람

 
 
저작자 표시 비영리

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

[ASP] LoadPicture() 함수[ASP] LoadPicture() 함수

Posted at 2011/10/27 17:33 | Posted in Dev/ASP

이런 함수가 있는지 처음 알았네 -_-;;

이미지의 넓이와 높이를 알아내고, 설정 ...

Set img = LoadPicture(파일)

imgWidth = img.Width
imgHeigth = img.Height


역시 모르면 고생 -_- 
저작자 표시 비영리

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

ASP 대용량 파일 다운로드 에러 시 해결 방법(Response 버퍼의 구성된 제한이 초과되었습니다)ASP 대용량 파일 다운로드 에러 시 해결 방법(Response 버퍼의 구성된 제한이 초과되었습니다)

Posted at 2011/02/09 11:13 | Posted in Dev/ASP

"응답 개체 오류 'ASP 0251 : 80004005'

Response 버퍼 제한 초과됨 test.asp, 줄 0

ASP 페이지를 실행하여 Response 버퍼의 구성된 제한이 초과되었습니다."

또는

이 페이지를 열 수 없습니다.  등의 오류 발생 시 해결방법

IIS 자체에서 다운로드 용량을 4MB 로 설정이 되어 있어서 그 이상의  용량을 다운 시 오류 발생

IIS 6

1. IIS 실행

2. 컴퓨터이름(로컬 컴퓨터)에서 속성

3. 인터넷 정보 서비스 탭에 메타베이스 직접 편집 허용 체크 후 확인

4. c:\Windows\System32\Inetsrv 폴더에 Metabase.xml 열기

5. AspBufferingLimit 값 수정 (기본 4MB로 설정되어 있음)

6. 3번에서 체크한거 체크 해제 후 IIS 다시 시작

IIS 7 이상

1. IIS 실행

2. 해당 사이트 선택

3. IIS 부분의 ASP 선택

4. 제한 속성 - 응답 버퍼링 제한 값 수정

5. IIS 다시시작


역시 모르면 개고생 ㅠㅠ

저작자 표시 비영리

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

스크립트 시간 초과 오류스크립트 시간 초과 오류

Posted at 2009/09/30 11:24 | Posted in Dev/ASP

//====================    오류 메시지 =================//

ctive Server Pages 오류 'ASP 0113'

 

스크립트 시간 초과

 

/renewal/~~~~~페이지 url

 

스크립트를 실행할 수 있는 최대 허용 시간을 초과했습니다.
속성 Server.ScriptTimeOut에 새 값을 지정하거나 IIS 관리 도구에 있는 값을 변경하면 이 제한을 바꿀 수 있습니다.

//====================    오류 메시지 =================//

 

//====================    해결 방법 ================//

경로 : 정보 서비스(IIS) 관리 -> 해당 웹사이트 속성 -> 홈디렉터리 -> 구성 -> 옵션 -> ASP 스트립트 시간제한

 

시간을 늘리면 됩니다

//====================    해결 방법 ================//


저작자 표시 비영리

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

ASP 보안 - Hidden Value 취약점ASP 보안 - Hidden Value 취약점

Posted at 2009/07/20 10:57 | Posted in Dev/ASP

 

 


풀이)

 

 - 홈페이지에는 관리자만이 수행하거나 접근 할 수 있는 페이지나 권한이 있다. 공격자는 URL 조작이나 파라메터, 쿠키, 세션 등을 조작하여 불법적으로 관리자 페이지에 접근하거나 관리자의 권한을 수행한다. 이번 문제에서는 관리자만이 작성할 수 있는 공지사항을 hidden으로 작성된 파라메터 값의 조작을 통해 공지사항에 글을 올리는 취약점을 해결하는 문제이다. 관리자의 IP 확인이나 리퍼러 확인, 그리고 인증방식에 대한 필터링 및 인코딩을 통해 해결 할 수 있다.

 


 
1)
문제 확인.  

 

 - 공지사항 게시물이 있고 그에 해당하는 소스파일을 확인한다.








2) 소스코드 분석을 통한 취약점 확인.


 - 취약점이 존재하는 페이지와 파라메터 값을 확인한다. 공지사항에 대한 글쓰기 관련 문제이므로 write.asp와 write_ok.asp 파일을 중점적으로 보아야 한다.






- write.asp write_ok.asp 를 확인하게 되면 write.asp 에서 hidden 필드로 writer(guest) write_ok.asp로 넘겨주게 되며, wirte_ok.asp 에서는 writer 값을 확인하여 ADMIN 일 때 글쓰기를 허용하고 그 외에는 글을 쓸 수 없도록 한다는 것을 알 수 있다.





- 취약한 부분을 확인하기 위해 파라메터 값을 조작하여 공지사항에 글을 써보자. 웹 프록시 툴을 이용하여 파라메터 값을 조작해야 하지만 임의로 write.asp 소스코드의 <input type=hidden name="writeer" value="guest">에서 guest를 ADMIN으로 바꾼 후 글을 작성한다.



- 관리자만이 글을 작성 할 수 있는 공지사항에 글이 작성된 것을 확인 할 수 있다.







 


 3)
소스코드 수정.
 

- 이러한 취약점은 여러 가지 방법으로 해결 할 수 있지만 해당 문제에서 제시한 관리자 IP(127.0.0.1)을 확인 하는 방법으로 해결해 보도록 한다. write.asp에서 넘어오는 hidden 필드의 writer값을 확인하기보다는 IP를 체크하여 관리자 여부를 확인하는 방법이다.

 

  ## 수정 & 추가 된 주요 소스코드
  adm_ip = Request.ServerVariables(REMOTE_ADDR);

  ip adm_ip <> 127.0.0.1 Then

  %>

  <script> alert(잘못된 IP의 접근입니다.); history.back(); </script>

  <%

  End if

  //중간생략

  name = ADMIN

 - 방문자의 IP확인과 같이 Request.ServerVariables 개체에서 제공하는 환경변수를 이용하면 웹 페이지에 접속하는 클라이언트 단의 IP, 이전페이지 주소, 운영체제 및 브라우저 등 많은 정보를 알 수 있다.


예시)

방문자의 IP : <%=Request.ServerVariables("REMOTE_ADDR")%>

사용 언어 : <%=Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")%>

브라우저, OS 정보 : <%=Request.ServerVariables("HTTP_USER_AGENT")%>

   이전 페이지 주소 : <%=Request.ServerVariables("HTTP_REFERER")%>







저작자 표시 비영리

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

홈페이지 보안1. Cookie 인증 보안홈페이지 보안1. Cookie 인증 보안

Posted at 2009/07/20 10:47 | Posted in Dev/ASP

홈페이지 보안

 



풀이)

 

 - 쿠키 값을 이용하여 사용자 인증이나, 권한 부여를 하게 되면 클라이언트 단에서 쿠키 값을 변경하여 악용할 수 있으므로 쿠키 값을 암호화 하여 사용 하거나 세션을 이용한 인증 및 권한부여를 하는 것이 안전하다.

  

 

1) 문제 확인 및 브라우저를 이용한 문제접속.
 







2) 소스코드 분석.


 
-
소스 파일 중 member.asp 파일을 확인하게 되면 logged_id 변수에 cookie 값을 대입한다는 것을 알수 있다.






3) 소스코드 수정.


 
- cookie가 적용되는 부분을 다음과 같이 session으로 바꿔준다.





저작자 표시 비영리

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

ASP ServerVariables collectionASP ServerVariables collection

Posted at 2009/07/15 14:35 | Posted in Dev/ASP
ServerVariables collection 사용으로 서버 및 클라이언트 정보확인이 가능하며
여기서 얻어낸 정보로 도메인 및 설정된 언어에 따라 웹페이지 이동과
파일 업로드, 로그 분석, 약간의 보안설정 등 많은 부분에 이용이 가능합니다.

APPL_PHYSICAL_PATH : E:\HOME\help_tt_co_kr\
메타베이스 경로에 해당하는 실제(디렉터리) 경로를 반환합니다.

- PATH_TRANSLATED : E:\HOME\help_tt_co_kr\servervariables\ServerVariables.asp
실제(디렉토리) 경로를 반환합니다.

- HTTP_HOST : help_tt.co.kr
도메인명을 반환합니다.

- HTTP_URL : /servervariables/ServerVariables.asp
도메인명의 이후 URL을 반환합니다.

- HTTP_METHOD : GET
전송방식을 반환합니다.

- HTTP_REFERER : http://help.tt.co.kr/servervariables/servervariables_start.asp
현재 페이지를 참조했던 이전 페이지 URL 문자열을 반환합니다.

- LOCAL_ADDR : 222.110.110.3
요청에 응답하는 서버 주소를 반환합니다.

- SERVER_PORT : 80
요청에 응답하는 서버 포트번호를 반환합니다.

- SERVER_SOFTWARE : Microsoft-IIS/6.0
요청에 응답하는 서버의 소프트웨어 이름과 버전 확인이 가능합니다.

- REMOTE_ADDR : 222.235.68.2
요청을 하는 원격 호스트 주소를 반환합니다.

- REMOTE_PORT : 2965
요청을 하는 원격 호스트의 포트번호를 반환합니다.

- HTTP_ACCEPT_LANGUAGE : ko
컨텐트를 표시하는 데 사용할 설정 값의 확인이 가능합니다.


위의 정보 확인은 아래의 소스로 확인이 가능합니다.
<%
response.write "<b>APPL_PHYSICAL_PATH :</b> " & Request.ServerVariables("APPL_PHYSICAL_PATH") & "<br>"
response.write "<b>PATH_TRANSLATED :</b> " & Request.ServerVariables("PATH_TRANSLATED") & "<br>"
response.write "<b>HTTP_HOST :</b> " & Request.ServerVariables("HTTP_HOST") & "<br>"
response.write "<b>HTTP_URL :</b> " & Request.ServerVariables("HTTP_URL") & "<br>"
response.write "<b>HTTP_METHOD :</b> " & Request.ServerVariables("HTTP_METHOD") & "<br>"
response.write "<b>HTTP_REFERER :</b> " & Request.ServerVariables("HTTP_REFERER") & "<br>"
response.write "<b>LOCAL_ADDR :</b> " & Request.ServerVariables("LOCAL_ADDR") & "<br>"
response.write "<b>SERVER_PORT :</b> " & Request.ServerVariables("SERVER_PORT") & "<br>"
response.write "<b>SERVER_SOFTWARE :</b> " & Request.ServerVariables("SERVER_SOFTWARE") & "<br>"
response.write "<b>REMOTE_ADDR :</b> " & Request.ServerVariables("REMOTE_ADDR") & "<br>"
response.write "<b>REMOTE_PORT :</b> " & Request.ServerVariables("REMOTE_PORT") & "<br>"
response.write "<b>HTTP_ACCEPT_LANGUAGE :</b> " & Request.ServerVariables("HTTP_ACCEPT_LANGUAGE") & "<br>"
%>


위의 정보 및 다른 값들을 확인하기 위해서는 아래의 소스로 확인이 가능합니다.
<table border="1">
        <tr>
                <td>변수명</td>
                <td>값</td>
        </tr>
        <%
        for each key in request.servervariables
        %>
        <tr align=left>
                <td><%=key%></td>
                <td>
                <%
                if request.servervariables(key)="" then
                        response.write " "
                else
                        response.write request.servervariables(key)
                end if
                %>
                </td>
        </tr>
        <%
        next
        %>
</table>
저작자 표시 비영리

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기