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

jackxiang 2013-3-24 11:10 | |
背景:
  我正在读一个不太明白的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
如果是linux与linux还可以使用rsync+inotify方式进行传输,速度也是非常快的....:
http://my.oschina.net/7shell/blog/57355

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/6161/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2013-3-25 10:37
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]