2017-10-04 18 views
0

우리는 acuity web-hook을 사용하여 약속 데이터를 소프트웨어에 전송합니다. 데이터는 아래의 PHP 파일로 전송됩니다.웹 후크 이벤트 후 일부 데이터가 필요하지 않음 Require_once

require_once($_SERVER["DOCUMENT_ROOT"].'/bitrix/header.php'); 
$cmd = 'echo "hii3" > debug.log'; 
echo "<pre>".shell_exec($cmd)."</pre>"; 
include($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php"; 

나는 require_once를 사용하는 경우

workflow.php는 트리거가 header.php로 전환하지 않은,하지만 난 다음을 포함 사용할 때 트리거가 header.php 간다.

+0

_ require_once를 사용하면 트리거가 header.php로 이동하지 않았지만 include를 사용하면 트리거가 header.php._로 이동합니다. _require_가 아닌 기존 파일이 심각한 오류로 이어질 수 있습니다 아니, –

+0

맙소사,이 스크립트로 적어도 2 가지 악용 사례를 보았습니다. 또한 파일은 생각하는 곳에 있지 않을 수도 있습니다. 치명적일 것이다. – Andrew

+0

하지만 우리는 다음 header.php 실행을 포함하고 require_once를 사용할 때 header.php를 실행하지 않습니다. 왜 그런지 모르시겠습니까 ?? – Sanj

답변

1

당신은 파일이 실제로 있는지 확인합니다

var_dump(file_exists($_SERVER["DOCUMENT_ROOT"].'/bitrix/header.php')); 

를 사용할 수 있습니다. 그렇지 않으면 require_once()가 오류를 발생시킵니다. include()와 require()의 동작은 동일합니다.