나는

2011-04-09 3 views
0

내가 htaccess로 사용하여 PHP 오류의 경로를 숨길 수 htaccess로 사용하여 PHP 오류의 경로를 숨길 수나는

예 : 내가 htaccess로 또는 인쇄 뭔가를 사용하여 경로를 숨길

Notice: Undefined variable: hello in C:\xampp\htdocs\mysite\index.php on line 3 

Notice: Undefined variable: hello on line 3 

또는

Notice: Undefined variable: hello 
: 오류 페이지의 경로를 인쇄하지 않고있을 경우 알려주세요

또는

There is error in your page 

편집 :

나는 나의 htaccess로 이 라인을 넣어하지만 내 사이트에 액세스 할 수 없습니다. 사람들은 PHP에 의해 생성, 그리고 그들이있는 방법 : 오류가 "내부 서버 오류" 가 어떻게

# supress php errors 
php_flag display_startup_errors off 
php_flag display_errors off 
php_flag html_errors off 
php_value docref_root 0 
php_value docref_ext 0 
+2

을 확인하십시오. 방문자에게 이러한 오류 메시지를 전혀 표시하면 안됩니다. 개발자를위한 것입니다. – Gumbo

+0

컨텍스트 란 무엇입니까? PHP 인터프리터에서 오류/경고를 출력해서는 안됩니다. 그러한 메시지가 있으면 스크립트를 수정해야합니다. –

+0

PHP를 모듈로 실행하고 "AllowOverride Options'"또는 "AllowOverride All'"권한이 있습니까? 그렇지 않으면 ['php_flag'와'php_value'] (http://php.net/configuration.changes)를 사용할 수 없습니다. – Gumbo

답변

4

만 .

:

그래서 프로덕션 환경을 위해, 당신은 정보 공개를 피하기 위해 display_errors를 비활성화해야합니다 [display_errors를]이 개발을 지원하는 기능이며 생산 시스템에 사용해서는 안됩니다 (예 : 인터넷에 연결된 시스템).

대신, 내부의 어떤 것도 공개 만 오류 메시지를 기록하지 않는 사용자에게 일반 오류 메시지를 표시해야합니다 (log_errors 참조 error_log) :

을 : 당신은 ' 프로덕션 웹 사이트에 오류가 표시되는 대신 오류 로깅을 사용하는 것이 좋습니다.

PHP의 오류 메시지를 정말로 수정하려면 set_error_handler을 사용하여 사용자 정의 오류 처리기를 설정할 수 있습니다.

자세한 내용은 OWASP’s Development Guide on “Error Handling, Auditing and Logging”도 참조하십시오.

+0

... 내 # 편집을 참조하십시오 – faressoft

+0

@faressoft : 그것을 보았습니다. :) – Gumbo

2

당신은 메시지를 변경할 수 없습니다 해결할 수 있습니다.


하지만 웹 사이트 사용자에게 표시되는 것을 방지 할 수 있으며 자신의 사용을 위해 계속 로그 할 수 있습니다. 이를 위해
, 참조 :

  • display_errors을 : 페이지의 출력
  • log_errors에 표시되는 오류를 방지하기 위해 : 오류가 파일
  • error_log에 기록되어야 함을 나타 내기 위해 : 어떤 파일에 지정 오류가 기록됩니다. 가능한 한 통지/경고/오류의 많은 원인을 해결하지 못할하지 않습니다 물론


, ;-) PHP의 오류 메시지가 사용자하지만 개발자를위한 것은 아니다

0

쓸데없는 것들을 모두 없애십시오.

php_flag display_errors 0 

만으로 충분할 수 있습니다.

오류가 계속되면 서버의 error_log에서 오류 메시지