js, css 로드할 때 ?v={random_num} 붙이는 이유

css, js, 혹은 미디어 파일을 로드하는 경우 파라미터로 이상한 값을 넘기는 경우가 많은데 이 경우는 왜 그런건지 궁금했습니다. 이렇게 로드하지 않으면 css, js 혹은 미디어 파일이 캐시에 남아있게 되는데, 이 경우에 로드하는 파일의 내용이 변경되어도 캐시에 저장되어 있기 때문에 refresh가 되지 않는 현상이 발생할 수 있습니다. 따라서 ?v={버전} 혹은 ?v={랜덤넘버} 를 붙여 로드하는 방식을 사용하는 것입니다.

PHP의 new execution generation..

Redvelvet Irene PHP에서 문자열 내에서 RCE를 일으킬 수 있는 트릭을 발견했다. $a = 'phpinfo';echo "${$a()}"; 사실 이미 알고 있었을 수도 있다. PHP는 이런 점에서 정말 재미있는 것 같다.

살다살다 이런 언어는 처음이야

멋짐 그 자체

PHP DB 연동할 때 한글 깨짐

일단 PHP에서 DB와 연동할 때 한글이 깨지는 이유는 인코딩 때문이다. 이유는 모르겠지만, 항상 UTF-8로 설정함에도 불구하고 query를 DB에 때릴 때 EUC-KR로 오는 경우가 있다. 이 때를 방지하기 위해서 하는 DB connection 파일을 생성하기 전에 항상 아래와 같은 쿼리를 보낸다. SET CHARSET UTF8; 쿼리를 Class로 만들어서 보낸다면 __constructor 에 저 쿼리를 보내는 식으로 하면 편할 것 같다. 이렇게 하면 UTF-8로 잘 넘어온다. 머 이게 귀찮다면 출력하거나 저장하는 모든 값들에 대해 mb_convert_encoding() 함수로 인코딩을 바꾸면 된다. 하지만, 이게 더 귀찮을 것 같다ㅋㅋ

hack language

요즘들어서 hack language를 공부하고 있는데, 일단 전체적인 감을 잡는데에 좋은 사이트일 것 같아서 공유한다. 여기를 클릭하자. 그리고 프로그래머의 감이 이끄는 대로 소스코드를 수정해보자.

install xhp

우분투 환경에서 xhp를 설치하려고 한다. 윈도우 사용자들이여, ㅈㅅ..ㅎㅎ..ㅋㅋ! 일단 기본적으로 여기에 있는 내용을 기반으로 하여 설치를 진행했다. composer installcomposer가 없으면 안됀다. composer라는 것은 ruby 언어의 bundle처럼 여러 패키지들의 의존성을 관리해주는 도구이다. (해킹 배우는 사람들중, XSS BeEF를 설치 시도한 사람은 알 것이다. bundle에서 꽤나 고생했을듯.) 솔직히 잘 설명할 수 있을 것이라는 확신이 들지 않아서 이 링크를 공유한다. 정리가 굉장히 잘되어있다. 여기서 다른 것들 말고, composer를 installing하는 부분만 잘 따라하면 될 것 같다. composer를 완벽하게 install 했다면 hhvm 이라는 패키지를 설치..

Introducing XHP

최근, 데몬팀에서 준비하는 것들 중, XHP를 사용하려는 프로젝트가 있어서 XHP를 공부중인데 이를 위해서 블로그에 잠깐 정리하는 글이다. XHP란 무엇일까? XHP는 페이스북에서 만든 웹 프레임워크이다. 페이스북에서 소개하는 XHP의 특징적인 점은 프론트 엔드의 코드를 용이하게 하고, XSS 공격을 막는데에 효과적이라는 점이다. 그리고 이 XHP는 xml 문서 조각을 이해시킴으로 작업을 수행한다. PHP의 어떻게 보면 특징적인 점은 HTML을 PHP 코드와 맞물려 사용할 수 있다는 점이 있을 수 있겠다. 하지만, 이 XHP 언어는 이런 특징적인 점을 더욱 강화 시켰다. 잠시 PHP와 XHP의 소스 차이를 보자. PHP의 코드이다. XHP의 코드이다. 일단 여기까지 소개하도록하고, 더 자세한 내용은 여기..

PHP 리다이렉션

PHP에서 사용자 브라우저로 하여금 리다이렉션하는 방법이 꽤 있는데, 오늘 깃허브를 둘러보다가 새로운 것을 발견해서 써봅니다. PHP에서 header('location:http://www.naver.com/'); 이런 코드를 작성하면 쉽게 리다이렉션을 진행할 수 있습니다. 이 방법 외에도 echo ""; javascript를 이용해서 리다이렉션을 진행할 수 있는데, 이 경우는 이전에 소개했던 경우에 비해서 조금 느린 감이 있습니다.

[PHP] strcmp() 함수

strcmp() 함수 ※ strcmp() 함수는 PHP 4 , PHP 5, PHP 7에서 사용할 수 있습니다. 개요 strcmp() 함수는 php.net의 간단 설명에 따르면 바이너리 안전 문자열 비교 함수 라고 합니다. 네. ㅋㅋㅋㅋㅋ설명끝. 이 아니구여.. ㅁ..미안해여...ㅜ 이런 장난 이따금씩 쳐보고 싶단말야! 일단 "바이너리"라는 말로부터 대소문자를 구분한다는 것을 알 수 있습니다. 그리고 안전하대요! 이 함수에 대한 취약점이 아직 공개되지 않았죠. 물론 알고 있는 사람이 있는지도 모르겠습니다만은 아직은 없대요 :)결정적으로 "문자열 비교 함수"입니다. 말 그대로 그 기능 그대로 수행합니다. 설명 int strcmp ( string $str1 , string $str2 )일단 int형 값을 반환..