2016-11-03 2 views
-5

나는 공격자로부터 내 프로젝트를 저장하는 법을 배우기 때문에 질문이 있습니다.PHP POST Array의 보안

usernamepassword 필드가있는 PHP 스크립트로 전달되는 양식이 있습니다.

수신 배열은 다음과 같이이다 : Array([username] => X, [password] => Y)

공격자 내 스크립트에 임의의 PHP 코드를 주입하기 위해이 배열을 피할 수 있습니까?

그렇다면 어떻게 그 일을하고 있으며 어떻게 대응할 수 있습니까? 당신의 도움에 대한

Question Attachment

감사합니다.

+2

탈출 __what__? 스크립트를 작성하고 그것을 __where__에 넣으시겠습니까? –

+1

_ "배열에 저장 하시겠습니까?"라는 의미는 무엇입니까? 양식을 게시하는 것에 대해 이야기하고 있습니까, 아니면 배열을 "에코"합니까? 귀하의 질문에 대한 답변이 명확하지 않은 waaay ... 귀하의 앱에 대한 _specifics_를 작성하고 걱정되는 코드를 표시하십시오 .. –

+0

@u_mulder이 배열이 제공된 PHP 파일에서. – user7104700

답변

0

공격자는 배열의 내용이 코드로 실행되지 않기 때문에 PHP 배열을 "탈출"할 수 없습니다. PHP 문자열을 포함 할 수 있지만 해당 문자열은 실행되지 않습니다.

PHP 코드가 나중에 사용자 입력을 처리하는 방법이 안전하지 않을 수 있습니다.

데이터를 살균하지 않고 출력하는 경우 사용자는 사이트에 표시되는 모든 자바 스크립트 코드를 삽입 할 수 있습니다 (자세한 내용은 크로스 사이트 스크립팅 또는 XSS를 참조하십시오). PHP에서이를 방지하려면 this question을 확인하십시오.

또는 데이터를 이스케이프 처리하지 않고 데이터베이스에 저장하는 경우 사용자는 고유 한 SQL 명령을 입력 할 수 있습니다 (자세한 내용은 SQL Injection 참조). PHP에서이를 방지하려면 준비된 문과 함께 PDO와 같은 것을 사용하십시오.