IEO Menu
InfoLogin
:: 전체게시물:: HTML 특수문자C/C++JavascriptIT/TIP개발/TIP개발/리눅스관리OSX/Windows잡담/잡동사니라이딩일기자가정비/튜닝유머사진 모음
$_GET, $_POST, $_REQUEST 에 대하여
Read: 7310
2016-08-30 16:30:50
처음 PHP를 공부할때 $_POST, $_GET, $_REQUEST 그 목적에 맞게 사용한다 라고 공부했다.

그러나 실전에서는 $_REQUEST 만 사용한다.

혹자는 $_REQUEST 만 사용하여 보안성을 떨어트린다, 위험하다. 제정신인가? 라고 말하기도 한다.

그럼 되묻는다. "해킹할때 GET 만 사용하고 POST는 사용하지 않는가?

천만에 다 사용한다. 즉 $_POST, $_GET 은 사실 의미가 없다.

어떤걸 사용해도 의미가 없다.

인터넷으로 넘어오는 정보들은 100% 믿을수 없는 정보다.

데이터가 GET으로 넘어올땐 데이터를 가공하고 POST로 넘어올땐 데이터를 가공하지 않아도 되는건가?

천만에 GET/POST 가릴것 없이 데이터는 무조건 가공해야 한다.

파일을 보더라도, 이미지의 경우에도, 내부 GD 라이브러리를 이용하여 가공된 파일을 사용하는 것이 바람직하다. 원본 그대로 사용했다가 좃되면 안된다고~
인터넷으로 주고 받는 데이터는 무조건 가공한후 사용한다.
숫자면 숫자형태로, 문자면 문자열 검수를.. 숫자로 와야하는 데이터가 문자로 왔다면 당연히 숫자형태로 강제변환후 0값을 가지게 될것이다.

GET/POST 가리지 않고 데이터를 모두 가공후 사용한다면 GET/POST 를 구분하는게 의미가 있는 일인가? 결단코 없다.

애당초 어떤 형태로 데이터가 넘어 오든 데이터를 믿는 것 자체가 문제다 GET으로 넘어 왔으니 위험하고 POST로 넘어 왔으니 안전한 데이터 따위는 없다.

어떤 형태로 넘어와도 데이터는 가공해야 한다. 해커는 어떤 형태로든 데이터를 보내는데, "난 POST를 체크하고 있으니 안전해~" 이딴 마인드를 가진 사람들이 더러 있다. ㅋ

그러나 제한을 걸기 위해 일부러 POST상태를 체크한다면 모를까? 데이터 유효성을 위해서 POST상태를 체크한다면 그건 정말 바보 같은 생각이다.
코드의 호환성/안전도.
어떤 코드들은 GET/POST를 가리지 말아야 하는 경우가 있다. 재사용 함수/클래스의 경우에는 더더욱 이 문제가 크다.

여기서 POST로 검증하고 여기서 GET으로 받아야 하고.. 집어쳐라. 데이터의 유효성보다 그게 더 중요하다면 게임오버다.

모든 데이터를 검수하는 것은 작은 규모에서는 그리 큰 문제는 없지만. 대형사이트의 경우에는 리소스 사용문제가 두드러질것이다.

그러나.. 데이터를 검수하는 쪽이 GET/POST 구분을 통한 검수보다 훨씬 더 안전하다. 리소스를 차지 한다고 하더라도 그게 더 절대적으로 안전하다.
웹 보안의 기초는 GET/POST 을 구분하여 지키는 것이 아니라. 데이터 검수로 지키는 것이다.
GET/POST 구분은 사실상 더 많은 데이터를 보낼수 있느냐 없느냐의 스펙일뿐, 보안을 위한 스펙이 아니다.

초보자들이 오해하는 것이 바로 그것이다. 주소 표시줄에 아무것도 안나타난다고 그것이 보안성이 좋은게 아니다. 그렇게 POST 더 뛰어나다고 생각하면 아예 홈페이지를 POST로만 움직이게 만들지 그러냐? ㅋㅋ

이건 우클릭을 할 수 없게 만들었다고 보안성이 더 높다고 생각하는 착각과 같은 것이다. 요즘 브라우저 굳이 우클릭없어도, 내가 원하는 이미지 동영상 다 추출가능하다.

데이터를 받아 쓰는데는 GET/POST 구분할 필요가 없다. 그냥 REQUEST 로 받아 데이터를 쓰면 된다.

단 모든 데이터는 검수후에 사용하는것을 전재로 한다. 데이터검수가 없으면 GET/POST 구분하는건 의미가 없다. 보안에 어떤 도움도 되지 않는다.
GET/POST 는 어떻게 쓰나?
함수가 GET 상태 일때는 동작하지 않다가 POST상태 일때만 동작을 가정한다고 보자, 이것은 같은 함수를 출력과, 입력에 같이 사용 할 경우다.

출력에서는 입력코드가 동작하지 말아야 하고, 입력의 경우 출력코드가 동작하지 말아야 하는 특수한 경우가 있다.

웹에서 폼데이터가 만약 GET으로 넘겨온다면, 입력을 중단하고, 출력으로 판정해야 한다.

반대의 경우 입력으로 판정하는 것이다.

그런 특수한 경우의 판단을 돕기 위해 사용하는 것이지, 그걸 POST를 보안규격이라고 생각하면 곤란하다.
2015/12/22 벤리 팔렸다. ... 뭔가 시원하지 않고 섭섭하다...
깨끗하게 세차해준적 없지만... 그래도 자가 정비 하며(엔진오일말고는 ... more
2015-12-22 21:25:56
2015/12/20 벤리 110 드디어 팔 결심을 하다..
2015-12-20 21:24:46
2015/12/12 벤리110 무브볼/벨트 교환 적산 12xxx 대
2015-12-12 21:22:24
2015/11/13 미라쥬 중립기어 해결방법. 및 유격설정방법.
2015-11-13 21:16:25
2015.10.29 타이어압은 1주에 한번 이상 체크를...
... 스쿠터는 스로틀을 풀면 엔진브레이크 처럼 조금씩 제동이 되는데... ... more
2015-10-29 20:55:17
후빨 도시오일전설과 오일 잘 갈아준 보링한 매물.... ?? ㅋㅋㅋㅋ
인터넷을 보다보니 고점도 오일에 대한 후빨 이야기가 있는데... 고점도 오 ... more
2015-10-27 20:54:37
2015/10/24 문경-합천
2015-10-24 20:43:59
2015/10/17 밤하늘 찍기 ... 적도의 마운트 사고 싶다.
2015-10-20 20:38:10
2015/10/04 27348km 미라쥬 점화플러그 교체
정비노트는 써두고 여긴 안써둬서... 백업겸... 교체겸 냉간핀 군데군데 ... more
2015-10-04 20:29:31
2015.10.13 미라쥬 28622km 오일교환/체인청소,조정
이제곧 30000이 눈앞이네... 작년 9월 신차 내려서... 10월.... 안에 30000 돌파 ... more
2015-10-13 20:28:07
토쳐라이딩 | IEO.KR
IEO.KR의 사전 서면동의 없이 IEO.KR 사이트의 일체의 정보, 콘덴츠 및 UI등을 상업적 목적으로 전재, 전송, 스크래핑 등 무단 사용할 수 없습니다.