解决远古盗链的问题
??? 前些天开始在朋友的服务器上发现,视频盗链比较严重,起初只是简单的把一些盗链的IP段封锁了事,没想到最近越来越多,没办法只好设置了一下仅对仅有的一些ip开放。但这样在一些其他地方使用起来又极其不便,于是今天一大早来就开始解决远古程序盗链的问题,真是“道高一尺,魔高一丈”,好不容易找到了一套解决方案,已经处理好了正在观察中。如果还有哪位朋友的远古系统也在遭受盗链的困扰并难以解决时,可以一起探讨。 解决思路: 1、安装SP1,必须安装SP1,不然就不好使。 2、在SQL?2000企业管理器中新建一个用户,设置并记住密码,回到SysConfig表,把SysConfig的media的除Select权限的其他几项权限去掉,然后再把这些权限给刚才建立的用户。 3、把UserStatus改为11。默认值为10 4、由于默认SQL帐号对media数据库只有Select权限了,因此在执行Update操作时就会出错,此时通过修改ASP文件来解决。 5、在数据库连接文件中新创建一个连接,然后在所有对Sysconfig表操作的地方使用该连接来操作。 例如: 程序代码 <%set?con????????????=?Server.CreateObject("ADODB.Connection") ConnectionString???=?"driver={SQL?Server};server=(local);uid=media;pwd=password;database=WebMedia" con.ConnectionString????????=?ConnectionString con.Open szDBType????????=?"MSSQLSERVER"%> 重新创建一个: 程序代码 <%set?con2????????????=?Server.CreateObject("ADODB.Connection") ConnectionString????????=?"driver={SQL?Server};server=(local);uid=media;pwd=password;database=WebMedia" con2.ConnectionString????=?ConnectionString con2.Open szDBType????????=?"MSSQLSERVER"%> 在执行Update操作的地方: 程序代码 if?Session("UserIPAddr")?=?""?then ????Session("UserIPAddr")?=?Request.ServerVariables("REMOTE_ADDR") ???szSQL?=?"Update?SysConfig?SET?KeyValue?=?KeyValue+1?Where?KeyName='Count'"? ???con2.Execute?szSQL end?if (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |