2013-08-28 3 views
1

내 webapp에서는 엔터프라이즈 고객이 자신의 weppages 중 하나를 완전히 사용자 정의 할 수 있습니다. 그러나이 웹 페이지는 여전히 내 웹 응용 프로그램의 일부이며 내 서버에서 호스팅됩니다.특정 PHP 파일을 특정 변수에만 액세스하도록 제한

내 고객은 CSS, HTML 및 자바 스크립트로 웹 페이지를 완전히 디자인 할 수 있어야합니다. 또한 특정 동적 변수에 대한 액세스 권한을 부여하려고합니다. 난 그냥 멋지 같은 템플릿 엔진의 어떤 종류를 사용하여 해당 동적 값

  • 자신의 웹 페이지에서 특정 변수-이름을 대체 할 수 있도록,

    • 않는 str_replace를 사용 : 나는 그들에게 이러한 변수에 대한 액세스 권한을 부여 3 개 가지 옵션이 있습니다 그들은 특정 PHP 변수

    실제로 PHP 이미 templage 엔진으로 위대한 작품 때문에 세 번째 옵션은 최고라고 생각 사용할 수 있도록, 그들은 PHP 자체를 사용하여 웹 페이지

  • 내에서 사용할 수있다. 그러나 만약 내가 php fil를 anykind로 업로드하게했다면 고객은 코드에 허가 제한이 있기 때문에 함수를 호출하고 데이터베이스 쿼리를 실행할 수 있습니다.

    어쨌든 PHP 파일을 사용하고 있습니까?이 PHP 파일에 미리 정의 된 변수의 특정 양에 대한 액세스 권한을 부여 하시겠습니까? 특히 데이터베이스 쿼리를 수행하거나 전역 변수를 읽거나 서버에 내용을 저장하거나 보안 문제를 야기 할 수있는 다른 작업을 수행 할 수있는 권한이 없습니다.

  • +0

    런타임시 함수를 제한 할 수 없으므로 템플릿 엔진을 사용하려고합니다. 그리고 전에 그들을 제한하는 것은 당신의 앱을 못쓰게 할 것입니다. – cmorrissey

    +0

    어쩌면 [this] (http://www.php.net/manual/en/runkit.sandbox.php)를 살펴 보아도, 실제로 그 안에 깊이 들여다 보지는 않았지만, 찾고있어. – hynner

    답변

    1

    이동 엔진은 템플릿 엔진입니다. 불가능하지는 않더라도 PHP 보안은 매우 어려울 것입니다. 귀하의 시나리오 나 고객을 잘 모릅니다. 그러나 제 경험상 그들은 그러한 기회를 악용합니다. 데이터베이스 접근 권한이 없다면 PHP를 가지고있는 유일한 이유가 될 것입니다.

    관련 문제