devflow.kr@:~#

PHP(PCRE), JS, PY 정규식 온라인 테스트

PHP



http://regex101.com/


간단하게를 넘어서 확실하게 정규식을 테스트해볼 수 있는 사이트입니다. 각 언어 별 정규식 차이가 있기때문에 선택할 수 있습니다. Explanation에 설명도 있으며 포럼엔 많은 예제들이 있습니다. 또한 Code Generator를 통해 바로 코드로 변환할 수 있습니다. 유용한 사이트이며 이용에 아무런 제약(광고또한) 없습니다.


정말 괜찮은 사이트입니다.

저작자 표시 비영리 동일 조건 변경 허락
신고

PHP에서 HTML 필터링 하기. HTML Purifier

PHP


웹 PHP 서비스 개발시, 단순하게 내용만 표시할 때에, 아무리 Javascript로 HTML태그를 제거를 해도 우회하여 XSS, 납치, 과도한 태그로인해 서비스에 보안상 위험이 따를 수 있습니다.


비록 모든 HTML을 제거하는 < , > &lt,. %gt;등으로 변환하는게 좋지만 일부분을 또 수락하고 싶을때(XSS방지는 하되, a, font span p 등은 허용) 편리하게 사용 가능한 클래스가 있습니다.


HTML Purifier입니다. 꽤 자세한 설정도 가능하고, 빠르고 자주 업데이트 되기때문에 믿을 만합니다. (몇일전에 보니 XE(XpressEngine)도 HTML Purifier를 사용하더군요,)


http://htmlpurifier.org/ 에서 다운로드 하실 수 있습니다.


http://htmlpurifier.org/demo.php 에서 미리 HTML Purifier를 테스트할 수 도 있습니다.


단 PHP 5버전 이상이여야합니다, 


간단하게 사용하는 방법을 코드로 정리해드리자면, 저와 같은 걍우,웹 검색결과를 표시할때에, HTML를 모두 제거하기위해 아래와 같은 코드를 사용하였습니다.




저작자 표시 비영리 동일 조건 변경 허락
신고

Flash Tracer를 오픈소스로 공개하였습니다.

PHP






별로 어렵지도 않은 내용이라 공개했습니다.


GPLv3를 따릅니다..


https://github.com/devflow/Flash_Tracer

저작자 표시 비영리 동일 조건 변경 허락
신고

XE 회원정보 특정 항목만 보여주며 출력하기.

PHP

XE에서는 기본으로 공개/비공개 할 수 있는 기능이 없습니다.

그러기에 직접 PHP을 수정해서 표시를 제한해줘야합니다.


저의 경우 본인과 관리자외 다른사람이 이메일과 아이디를 조회할 수 없도록 작성하겠습니다..



일단 불안정한 방법이지만 조금은 신뢰가 가는 방법을 택했습니다.



modules/member/skins/스킨이름/member_info.html 를 수정하기로합니다.


스킨마다 다를 수 잇긴합니다만.. 저는 sketchbook5 원월모듈 스킨을 사용중입니다.



회원목록에서 기본필드(*)을 표시해주는 구간을 아래와 같이 수정하시면 됩니다.



<!--@if((!($memberInfo[member_srl] == $logged_info->member_srl || $logged_info->is_admin == 'Y') && $formInfo->name == 'user_id') || (!($memberInfo[member_srl] == $logged_info->member_srl || $logged_info->is_admin == 'Y') && $formInfo->name == 'email_address'))-->

{@$value = '비공개'}

<!--@else-->

{@$value = $memberInfo[$formInfo->name]}

<!--@end-->



$memberInfo[member_srl] == $logged_info->member_srl 는 현재 로그인한 회원과 조회하려는 회원의 번호가 같는지 확인입니다.

$logged_info->is_admin == 'Y' 는 현재 로그인한 회원이 관리자인지 확인합니다.

$formInfo->name == 'user_id' 는 현재 읽어드리려는 기본필드중에 항목이 유저 ID인지 확인합니다.

$formInfo->name == 'email_address') 이것 또한 기본필드중 항목이 이메일주소인지 확인합니다.


이렇게 확인한 후 ,  자신의정보가 아니거나 관리자가 아니며 유저 id가 표시될때에는 비공개로 표시 그렇지 않을때에는 올바른값 표시.

이메일도 같은 방법으로 자신의정보가 아니거나 관리자가 아니며 이메일이 표시될때에는 비공개로 표시 그렇지 않을때에는 올바른값 표시.

저작자 표시 비영리 동일 조건 변경 허락
신고

[php] 클라이언트의 ip얻기

PHP

$REMOTE_ADDR
저작자 표시 동일 조건 변경 허락
신고

[php] 현재 시간 표시하기.

PHP

$now_time = date("Y-m-d H:i:s",time());


아래 표를 참조하시기바랍니다.

A : "AM" 또는 "PM"

d : 두자리로 표현되는 날짜, 즉 "01"~"31"
 
 D : 세글자로 표현되는 요일, 즉 "Fri"

F : 월을 긴 문장으로 나타냅니다. 즉 "January"

h : 시간을 12시간 단위로 나타냅니다. "01"~"12"

H : 시간을 24시간 단위로 나타냅니다.

g : 시간을 12시간 단위로 0 없이 나타냅니다. "1"~"12"

G : 시간을 24시간 단위로 0 없이 나타냅니다. "0"~"24"

i : 분을 나타냅니다. "00"~"59"

j : 날짜를 0 없이 나타냅니다. "1"~"31"

l : (L의 소문자)요일을 나타냅니다. "Friday"

L : 윤년인지의 여부를 나타냅니다. "0" 또는 "1"

m : 달을 나타냅니다. "01"~"12"

n : 0 없이 달을 나타냅니다. "1"~"12"

M : 3글자로 달을 나타냅니다. "Jan"

s : 초를 나타냅니다. "00"~"59"

S : 영어에서 순서를 나타내는 2글자로 된 접미사; "th", "nd"

t : 주어진 달의 날 수; 즉 "28"~"31"

U : 기준시점(GMT 1970년 1월1일 00:00:00)으로부터 지난 시간을 초로 표시

w : 요일을 숫자로 표시합니다. 즉 "0"(일요일) ~ "6"(토요일)

Y : 4글자로 연도표시, "1999"

y : 2글자로 연도표시, "99"

z : 날짜를 표시, "0"~"365"

Z : 지역간의 시간편차를 초단위로 표시, 즉 "-43200"~"43200"

출저 : http://naver-blog.nuclear.wo.tc/90110653116  (감사해영)
저작자 표시 동일 조건 변경 허락
신고

티스토리 툴바