在生产环境中添加日志记录器

4

我正在对现网站进行一些更改,常常需要在整个页面中添加日志记录器(print_r)以供测试。问题在于,该网站的人员众多,我需要确保只有我能看到这个日志记录器。我听说可以使用我的IP地址将记录器包装在if语句中,但是我记得我以前尝试过,但客户端仍然能够查看它。有人有想法或所需的语法吗?顺便说一下,我认为PHP版本较旧


2
为什么不先在你们的测试服务器上测试一下呢? - Woot4Moo
4个回答

7

您可以在get中传递一个变量,并根据该变量进行切换。

http://mysite.com?debug=secret

然后:

  if($_GET['debug'] === "secret"){
     print_r($stuff);
  }

在使用框架之前,我会设置一个cookie,当debug="secret"时,这样我就不必一直输入它。由于只有你设置了cookie,所以你是安全的。


2

这会限制//你的调试代码只能在IP地址为12.34.56.78的情况下运行。

if(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] == '12.34.56.78'){
   //your debug code
}

你也可以将这个值存储为常量:

define('SHOWDEBUG', isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] == '12.34.56.78');

在其他地方:SHOWDEBUG && print_r($dumped);


1
创建一个页面,让您可以设置或清除“调试”cookie。确保在该页面上设置密码,以防客户端对其进行更改。

0

同意lznogood的观点。

我会添加一些秘密
<?php
$a=$_GET[];
if($a=xyz){
}
?>
注意:最好将获取的加密值设置为其他大的加密值。然后只需为自己设置书签并在代码中设置即可。

我在我的页面上激活了此功能以进行布局/连接原因。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接