解决远古盗链的问题

      前些天开始在朋友的服务器上发现,视频盗链比较严重,起初只是简单的把一些盗链的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




[本日志由 Admin 于 2007-11-24 04:24 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
评论: 0 | 引用: 0 | 查看次数: 6033
发表评论
昵 称:
密 码: 游客发言不需要密码.
验证码: 5+11=?
内 容:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册账号.
字数限制 500 字 | UBB代码 关闭 | [img]标签 关闭