"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > php exec (), system () 및 passthru () : 외부 프로그램 실행에 어떤 기능을 사용해야합니까?

php exec (), system () 및 passthru () : 외부 프로그램 실행에 어떤 기능을 사용해야합니까?

2025-03-23에 게시되었습니다
검색:389

PHP exec(), system(), and passthru(): Which Function Should I Use for External Program Execution?

외부 프로그램 실행을위한 php exec (), system () 및 passthru () 비교

php functions exec (), System () 및 Passthru ()는 모두 php 스크립트에서 외부 프로그램을 실행하는 데 사용됩니다. 그러나 그들은 기능과 의도 된 용도가 약간 다릅니다.

    1. 기능 :
  • exec ()
  • : 시스템 명령을 실행하고 변수에서 결과를 반환합니다.
  • system () : 즉시 시스템 명령을 실행하고 즉시 출력을 Browser.

passthru () : 시스템 명령을 실행하고 원시 출력을 브라우저로 직접 보냅니다. 사용 사례 :

  • exec ()
  • : 스크립트 내에서 추가 처리를 위해 명령의 출력을 캡처해야 할 때 유용합니다. 예 : 서버에 특정 파일이 있는지 확인합니다.
  • System ()
  • : 브라우저에 표시하려는 텍스트 출력을 생성하는 명령을 실행하는 데 적합합니다. 예 : 시스템 로그 생성 또는 명령 결과 표시. 예 : 명령 줄 유틸리티를 사용하여 PDF 보고서 생성. 권장 사항 :
  • 보안 위험 및 이식성 문제로 인해 이러한 기능을 사용하지 않는 것이 좋습니다. 외부 명령 실행은 명령 주입 공격에 취약 할 수 있습니다. 악의적 인 입력은 서버에서 임의의 명령을 실행할 수 있습니다.
이러한 기능을 사용하지 못하는 경우 다음 예방 조치를 취할 수 있습니다.

    Shell Metacharacters는 명령의 일부로 해석되는 것을 방지합니다.
  • PHP 프로세스 제어 기능 또는 외부 라이브러리와 같은 외부 프로그램을 실행하는 대체 방법을 사용하는 것을 고려하십시오.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3