情况是这样的,我的机子是一个php服务器,能否在客户端对服务器进行http请求时。因为我是对服务器的所有php文件进行加密了的,所以想在客户端访问这个文件时,先对这个文件进行解密。当服务器执行了这个php文件,将结果返回后,恢复php文件的加密如下:客户端请求对XXX.php读取
      |
      |
      |
服务器拦截这个请求,然后做其他事(就是在这步,如何拦截)
      |
      |
      |
恢复这个请求,让服务器处理这个请求

解决方案 »

  1.   

    php服务器架设一个透明加解密层,接管服务器对PHP文件的IO
      

  2.   


    假设加解密层?能简单介绍一下吗,谢谢。因为那个加解密是我用自己的程序来实现的,就只想拦截请求,然后处理完php文件就恢复这个请求。
      

  3.   


    这个要看服务器是Linux还是Windows。能不能拿到服务器源码。主要原理就是替代服务器的fopen一类的函数,转向自己的这一透明加解密层。
      

  4.   


    是windows系统,Apache的,开源软件。。照你这么说貌似能行。。我是想说能否通过winpcap来拦截所有的数据,从中再筛选出来http的请求
      

  5.   

    我想你的原意大概是为了让即使服务器被用漏洞注入,复制走php文件也只是加密的。windows下完全可以用api钩子(不用驱动是因为考虑到服务器的稳定性),挂钩处理文件IO的那些函数。
    或者用Apache源码里undef处理fopen之类的函数,全部转到你自己新写的函数。通过winpcap也可以,性能和稳定性远远不如挂钩文件IO。
      

  6.   


    你说得对,我就是这个意思。不过我就是不知道如何拦截客户端的http请求,如果不拦截,我就不知道会访问哪一个文件,这样我就没法对那个文件进行处理
      

  7.   

    ……
    我无语了,你处理服务器的文件IO,根本不用管http请求。
    我很怀疑你是不是理解了我的说法,还在纠结拦截http请求。
    你接管了服务器所有的文件IO,根本就不需要知道http请求!算了~,您还是继续查找winpcap的过滤资料吧,去拦截http请求进行判断。