>  기사  >  백엔드 개발  >  phpinfo()가 PHP 코드 보안에서 나올 수 없으면 어떻게 해야 합니까?

phpinfo()가 PHP 코드 보안에서 나올 수 없으면 어떻게 해야 합니까?

青灯夜游
青灯夜游원래의
2021-06-02 15:06:123034검색

php 코드 보안 phpinfo() 솔루션을 출시할 수 없습니다. 먼저 php.ini 파일을 열고 "short_open_tag" 항목을 찾아 "short_open_tag = On"으로 설정한 다음 Apache를 다시 시작하고 php.ini 서비스를 다시 로드하세요.

phpinfo()가 PHP 코드 보안에서 나올 수 없으면 어떻게 해야 합니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

1. 문제 설명

php 파일 test.php를 작성했는데 코드는 다음과 같습니다. :

<?php
    echo phpinfo();
?>

Browse 서버가 액세스했지만 NULL을 반환했습니다.

2. 문제 위치 및 해결 방법

온라인으로 확인한 결과 대부분의 사람들이 직면하는 문제는 실제로 short_open_tags 문제입니다. 해당 코드는 다음과 같습니다.

<?
    echo phpinfo();
?>

해결 방법:

이런 경우입니다. , php.ini 파일을 열고 "short_open_tag"를 찾아 short_open_tag = Off 줄을 주석 처리한 다음 short_open_tag = On을 열어야 합니다. 그런 다음 Apache를 다시 시작하고 php.ini 서비스를 다시 로드하면 문제가 해결됩니다.

여기에 두 가지 질문이 더 있습니다. 하나는 php가 실행될 때 어떤 php.ini 파일이 로드되는지 확인하는 방법입니다. 다른 하나는 php --ini를 사용하여 찾을 수 있습니다. php.ini 파일을 다시 로드하는 방법입니다. 서버에서 php-fpm이 활성화되어 있으면 일반적으로 php-fpm을 다시 시작해도 괜찮습니다. 명령은 다음과 같습니다. php-fpm 서비스(php의 이전 버전)인 경우. 활성화되지 않은 경우 일반적으로 Apache 서비스를 다시 시작해도 괜찮습니다. 명령은 service httpd restart입니다.

위 단계를 완료하면 대부분의 사람들이 겪는 문제가 해결될 것이지만 이것은 다른 사람의 문제이지 나와 같은 문제는 아닙니다...

이 일이 관련이 있을 것이라고 느낄 수밖에 없습니다. to php 구성이 관련이 있어서 공식 홈페이지에 가서 php.ini 문서를 살펴보니 다음과 같은 구성이 있습니다.

  disable_functions string

이 명령을 사용하면 보안상의 이유로 특정 기능을 비활성화할 수 있습니다. 쉼표로 구분된 함수 이름 목록을 인수로 허용합니다. 비활성화 기능은 안전 모드의 영향을 받지 않습니다. 이 지시문은 php.ini에서만 설정할 수 있습니다. 예를 들어, httpd.conf

에서는 설정할 수 없습니다. 이는 일부 메소드를 php.ini에서 구성할 수 있지만 해당 메소드를 호출할 수 없음을 의미합니다. php.ini를 열고 이 구성을 찾으세요.

disable_functions = phpinfo,system,proc_open,proc_close,show_source,popen,pclose

disable_functions에서 phpinfo() 메소드를 일시적으로 삭제하고 php.ini 파일을 다시 로드한 다음 브라우저에서 test.php에 다시 액세스했다는 생각이 갑자기 들었습니다. 이번에는 성공했습니다. 문제가 해결되었습니다. 하지만 phpinfo()는 매우 민감한 정보이므로 일반적으로 클라이언트에 노출시키지 않는 것이 가장 좋기 때문에 테스트 후에는 빨리 꺼 두었습니다.

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 phpinfo()가 PHP 코드 보안에서 나올 수 없으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.