关于利用注射点判断数据库web是否分离

xp/2003系统下注册表里有个键值可以得到真实的ip地址
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\{FBD72F8D-6334-4739-957A-7D324D9C27EF}\Parameters\Tcpip
,在注册表的窗口右边就可发现“IPAddress”、“DefaultGateway”、“SubnetMask”等键值,它们分别对应本机当前配置的IP地址、网关及子网掩码等信息
我们用opendatasource反弹出来的ip始终都是公网ip
即使得到的数据库ip和webip一样   也不能断定数据库web不分离
我可以先建立一个表,把注册表里的真实ip写进去,然后如果是个公网ip而且和反弹结果一样 则断定是数据库web不分离 如果是个内网ip 则观望状态。
注册表里那个键的上一层是个网卡id,可能有很多个,我不知道怎么获得这个网卡id的名称,没想到解决的半天,幸好200给予了一个方案,可以更简洁:
select host_name();得到客户端主机名
select @@servername;得到服务端主机名 
暴错时 and host_name()>0--
不暴时配合union all select

或者全部opdatasource反弹回来,查看结果一样就是不分离,不一样的话就是分离

















本文转sinojelly51CTO博客,原文链接:http://blog.51cto.com/pnig0s1992/338193,如需转载请自行联系原作者

上一篇:【AWS】使用X-Ray做AWS云上全链路追踪监控系统


下一篇:(二十五)svn的问题