Middle-end/PHP

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 하긴 그냥 딱봐도 기본적인 언어이긴한데..

한번에 여러 언어를 다하려니까 조금 햇갈린다.


고수가 되려면 이정도는 기본이겟지 !

,

알림

이 블로그는 구글에서 제공한 크롬에 최적화 되어있고, 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.

카운터

Today :
Yesterday :
Total :

태그