json_decode 가 안될때 역슬래시를 없애야한다
방금 알게 된 사실인데
PHP에서 injection이 하도 일어나니까 php 보안별로네 이지랄하니까...
php.net 개발자들이 빡쳐서
magic_quotes를 만든거같다. '나 "같은 쉼표? quote를 상대로 escape문자를 넣어버리는것....
escape문자란 ... C언어의 개행문자같이 \와 1Byte문자열(대게 알파벳)이 합쳐서 만드는 서식문자를 뜻한다.
printf에서 f(format)을 상징하는 문자 뭐래니 나.
<//원래 JSON $json = "{'a':'65'}"; //GET/POST로 받는순간 $post = $_POST["json"]; echo $post; /* 출력결과 {\'a\':\'65\'} */ //그래서 아래와 같이 처리를 해줘야함 $post = get_magic_quotes_gpc ? stripslashes($_POST["json"]) : $_POST["json"]); ?>
아무튼 그래서 magic_quotes에 의해 자동으로 escape 처리되었다면
stripslashes를 통해 그걸 빼주면된다.
참 내가 보기엔
언어는 딱히 어려운 언어는 없어
그래서 언어배우긴 쉬운데
그 언어를 손으로 주물럭 거리기가 힘들지.
여러가지 관문들이있는데
array 배열다루는것과 string 다루는것 그리고 내장함수 다루는것
이 세개만 해도 그 언어를 어느정도 자유자재 다룰 수 있다고 할 수있지.
저건 개념 몰라서 안하는게 아니라 단지 함수 이름이 내가 사용하던 언어와 달라서 헤매이는거야.
뭐 그렇다고 어쩌겟어. 모든 언어의 함수명과 내부 구현을 맞춰야하는건아니잖아? 장단점이 거기서 갈리는건데.
그냥.. 내가 맞춰가는수밖에..
그런데 이건 좀 아닌거같아..
C, C++, C#, Javascript, python, css(sass), html, php, shell script 하긴 그냥 딱봐도 기본적인 언어이긴한데..
한번에 여러 언어를 다하려니까 조금 햇갈린다.
고수가 되려면 이정도는 기본이겟지 !
'Middle-end > PHP' 카테고리의 다른 글
윈도우에서 php-cgi 가 가끔 꺼질때 자동으로 재시작하기 (0) | 2016.02.20 |
---|---|
php4 html_specialchars_decode function 함수 구현 (0) | 2015.11.05 |
magic_quotes_gpc disable runtime 에서 끄는법. (0) | 2015.11.05 |
php 무서운 65279 UTF-8 BOM (0) | 2015.10.01 |