PHP包含或读取了哪个配置文件的跟踪探讨。

来源:互联网 发布:mastercam铣螺纹编程 编辑:程序博客网 时间:2024/05/18 01:03
背景:
  我正在读一个不太明白的PHP新程序,像空降到一个众林,出现一个包含/读取某文件是一个黑盒子,想问:如何跟踪PHP在一次执行时读取或include了某个文件?(如配置文件,该配置文件有可能是include进来,有可能是通过直接读取的方式,但不明朗,怎么办好呢?)
PHP高级编程群兄弟出招了:
1.有兄弟建议用find命令查找access time(是文档最后一次被读取的时间)。
2.有兄弟建议get_included_files 来看是哪个文件print_r(get_included_files());,
  也顺便提到其它三个精妙的函数:get_included_files ,get_included_path,get_loaded_extensions。
3.也有兄弟提出用安装扩展的方法去实现:http://pecl.php.net/package/inotify
  也可以用上次说的php_AOP
  aop_add_after("file_get_contents()", 'file_open_call');
  file_get_contents("./test.php");
  要是include进来的文件,直接用get_included_files,来判断就好了.(这个函数很厉害,再次有兄弟推荐。)

里面提到AOP,可以参考:
http://hi.baidu.com/bise86/item/a396eed5c8fae8cc1a72b4a1
http://www.croes.org/gerald/projects/aop/documentation_aop_extension_php.pdf

使用inotify防php木马:http://hi.baidu.com/ostech/item/f729c8c2fa8a392447d5c089
php使用inotify实现队列处理:http://blog.jiunile.com/php%E4%BD%BF%E7%94%A8inotify%E5%AE%9E%E7%8E%B0%E9%98%9F%E5%88%97%E5%A4%84%E7%90%86.html

通过rsync+inotify实现数据的实时备份:http://ixdba.blog.51cto.com/2895551/580280
原创粉丝点击