分享

写回答

发帖

[经验] DADDAY主机使用动易不能正确登录后台解决方法.

GoDaddy GoDaddy 33119 人阅读 | 19 人回复

发表于 2010-1-26 22:24:14 | 显示全部楼层 |阅读模式

注意的是:买的是DADDAY的WINDOSWS主机,动易6.8版本,使用的是ACCESS的库,新人申请DADDAY主机的时候,切记要选择ACCESS库
1.选择WINDOS主机,点击PLAN DETAILS

要点击MS Access选项"Available Here"


2.配置好域名上传好动易网站后(注意需要在后台文件管理把库目录和后台管理目录权限为可写)-具体可以参考导航帖子

3.动易为啥后台不能登录,是因为在登录的时候纪录COOKIES,但是动易的语法如下:
在admin目录的admin_login.asp的第190行左右
    InstallDir = GetInstallDir(Trim(Request.ServerVariables("SCRIPT_NAME")), 1)
    Site_Sn = Replace(Replace(LCase(Request.ServerVariables("SERVER_NAME") & InstallDir), "/", ""), ".", "")
    Response.Cookies(Site_Sn)("AdminName") = rs("AdminName")

网上语法解释是cookies的(一个cookie 可以包含一个多值的集合。我们称之为 cookie 拥有 key)
参考:Response.Cookies("user")("firstname")="John"
动易的Site_Sn生成的值是这样的字符串 wwwxryyccomguanli.发现动易的 Response.Cookies(Site_Sn)应该需要双引号,即 Response.Cookies("Site_Sn")

大概ADMIN目录下面admin_common.asp  admin_login.asp  admin_index.asp需要cookies的值,这三个文件都引用start.asp,因此我start.asp增加Site_Sn的赋值.
随便在start.asp中增加个过程,我是在136行后增加,语法如下

Sub Get_Sn()
     InstallDir = GetInstallDir(Trim(Request.ServerVariables("SCRIPT_NAME")), 1)
    Site_Sn = Replace(Replace(LCase(Request.ServerVariables("SERVER_NAME") & InstallDir), "/", ""), ".", "")
    Site_Sn =  chr(34) & Site_Sn &  chr(34)
End Sub

Function GetInstallDir(ByVal ScriptName, ParentLevel)
    Dim i, strTemp
    GetInstallDir = "/"
    If ScriptName = "" Or IsNull(ScriptName) Then Exit Function
    If ParentLevel > 1 Then ParentLevel = 1
    If ParentLevel = 0 Then
        strTemp = Left(ScriptName, InStrRev(ScriptName, "/"))
    ElseIf ParentLevel = 1 Then
        i = InStrRev(ScriptName, "/") - 1
        If i < 1 Then i = 1
        strTemp = Left(ScriptName, InStrRev(ScriptName, "/", i))
    End If
    If Right(strTemp, 1) <> "/" Then strTemp = strTemp & "/"
    GetInstallDir = strTemp
End Function


1.在admin_login.asp修改如下:大概189行,把他的site_sn赋值去掉改为


Call Get_Sn
    Response.Cookies(Site_Sn)("AdminName") = rs("AdminName")
    Response.Cookies(Site_Sn)("AdminPassword") = rs("Password")
    Response.Cookies(Site_Sn)("RndPassword") = RndPassword


2.在admin_index.asp的开始,增加"call get_sn",为:

<!--#include file="../go.asp"-->
<%

Call Get_Sn
Call CloseConn


3.admin_common.asp的顶部,增加"call get_sn",为


If NeedCheckComeUrl = True Then
    Call CheckComeUrl
End If
Call Get_Sn
'检查管理员是否登录


保存上传覆盖,再次登录正常



我的测试网站为:  www.xryyc.com

[ 本帖最后由 nightware 于 2010-1-26 10:38 PM 编辑 ]
2.jpg

评分

参与人数 1威望 +8 金币 +10 银币 +10 收起 理由
add.c + 8 + 10 + 10 精品文章

查看全部评分

回答|共 19 个

红色旋风

发表于 2010-1-29 10:30:46 | 显示全部楼层

奇怪 我也是用的动易6.8    装在根目录就可以 登陆  装在子目录  需要在域名后加上子目录名才可以登陆  例如 www.xxxx.com/123/admin/admin_login.asp

否则在输入管理员和密码后 登陆的时候回提示 本系统不允许直接输入网址登陆的提示  具体提示什么忘记了 大概是这个意思

我的动易并没有修改什么啊

wlhot

发表于 2010-1-29 10:52:23 | 显示全部楼层

使用PHP系统的CMS吧  
AC数据库的效率很差的
而且对国外的服务器兼容也不怎么好

active

发表于 2010-1-29 11:07:32 | 显示全部楼层

楼主是个牛人,测试了一下,果然成功。

jksing

发表于 2010-2-8 19:50:17 | 显示全部楼层

楼主能留个联系方式,谢谢

molo911

发表于 2010-3-8 14:47:01 | 显示全部楼层

楼主您好,不好意思没有看懂您的修改方法。
可否把相关文件发到我邮箱molo911@gmail.com,或者上传到本贴内。非常感谢

ybwl

发表于 2010-5-23 14:20:25 | 显示全部楼层

go.asp  这个文件在那里?

tianping88

发表于 2010-5-23 17:57:14 | 显示全部楼层

楼主确实强悍啊。受教了..

龙腾无忧

发表于 2010-5-27 23:18:56 | 显示全部楼层

楼主请把你的方法发给我一份

楼主请把你的方法发给我一份  s991@qq.com 谢谢

onlydv

发表于 2010-7-13 16:04:39 | 显示全部楼层

楼主能否把修改后的几个文件发给我一份啊。万分感谢!houcheng@126.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则