特殊字符 - HTML语言 对照表
想表达的意图处理方式
(回车换行)
(空格符)
&(AND符号)&
<(左尖括号、小于号)<
>(右尖括号、大于号)>
°(度)°
•(间隔符)
´´
""
ØØ
¥(RMB)¥
想表达的意图处理方式
λλ
μμ
νν
ξξ
νν
ξξ
¥¥
¹(一次方符号)¹
²(平方符号)²
³(立方符号)³
nr(上标情形)nr
Ci(下标情形)Ci
加粗加粗
斜体斜体
下划线下划线
±(加减符号)±
×(乘法符号)×
÷(除法符号)÷
©(版权所有)©
®(注册商标)®
™(商标符号)
—(破折号)

利用网页修改域登录密码

[ 2004/09/17 11:32 | by gOxiA ]

你可以写一个ASP脚本来创建一个修改密码的网页。ASP可以让你完全访问活动目录接口(ADSI),这样你就可以用ASP完成一系列的功能,向修改用户密码或者创建用户帐号。当你写这样一个脚本的时候,你必须考虑这样一个问题---哪些用户可以运行脚本,当脚本运行是你应该使用哪些权限。用来修改用户密码的基本的ADSI命令是:

set usr = GetObject("LDAP://CN=John Savill,CN=Users,DC=savilltech,DC=com") usr.put "userPassword", NewPassword
第一行分配了一个句炳给savilltech.com里面的用户john savill。第二行则把新密码放到用户的密码属性里面. 我写了一个比较短的asp脚本changepass.asp用来提示用户键入一个用户名和密码(记住你要把域名savilltech.com改成你自己的域名),下面是文件的代码:
]<%
strUserCN = request.form("cn")
strNewPassword = request.form("newpass")
strPassVerify = request.form("passverify")

if strUserCN="" then
    response.write "<html><head><title>Change Password</title></head><body>"
    response.write "<center><h1>Web Password Reset</h1></center>"
    response.write "<hr>

<form method=post action=changepass.asp><table>"
    response.write "<tr><td>CN: </td><td><input type=text name=cn></td><tr>"
    response.write "<tr><td>New Password: </td><td><input type=password name=newpass></td></tr>"
    response.write "<tr><td>Verify Password: </td><td><input type=password name=passverify></td></tr>"
    response.write "<tr><td colspan=2 align=center><input type=submit value='Reset Password'></td></tr>"
    response.write "</table></body></html>"
    response.end
else

if strNewPassword = strPassVerify then

set usr = GetObject("LDAP://CN=" & strUserCN & ",CN=Users,DC=savilltech,DC=com")

usr.put "userPassword", strNewPassword

response.write "<html><head><title>Results</title></head><center><h1>Update Results</h1></center><hr>

"
response.write strUserCN & ": password was successfully updated"
response.end

else

    response.write "<html><head><title>Error!</title></head><body>"
    response.write "<center><h1>An Error Has Occurred!</h1></center>"
    response.write "<hr>

"
    response.write "The password and confirmation do not match. Please go back and try again."
    response.end

end if
end if
%>

在WINDOWS SERVER 2003里面就提供了一个修改用户密码的网页英文原稿作者为John Savil

“ASP + Serv-u 实现FTP的代码”awaysrain [原作]
<!--#include file="md5.asp"-->
<%
'**************************************************
'* 作者:awaysrain(绝对零度) *
'* 完成时间:2003-10-10 *
'* 测试环境:WIN2000SERVER,SERV-U 4.2-beta版 *
'**************************************************
Dim iniPath,iniFileName,iniStr,tmpStr,n
Dim userName,passWord,tmp

userName = "myfso222" '用户名
passWord = "awaysrain" '密码
tmp = "ai" '随机生成两个小写字母,(应该是随机生成的,但是我这里省略了)
passWord = tmp & UCase(md5(passWord)) '密码,是MD5加密过的,用动网的MD5加密程序,具体算法是随机生成两位小写字母,然后和你的密码连接后进行MD5加密,把随机生成的密码和MD5加密后的结果作为密码存放,举个例子来说比如下面的awaysrain用户,我的密码为awaysrain先随机生成两位小写字母ai,和我的密码awaysrain连接得到aiawaysrain把aiawaysrain进行MD5加密得到9118BFD94A9CE9CF37AE5BAA947ED596把随机生成两位小写字母ai和MD5加密后的结果9118BFD94A9CE9CF37AE5BAA947ED596连接得到密码ai9118BFD94A9CE9CF37AE5BAA947ED596

iniPath="D:\Program Files\Serv-U" 'ini文件的路径
iniFileName = "ServUDaemon.ini" 'ini的文件名

Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set ServUIni = fso.OpenTextFile(iniPath & "\" & iniFileName,1,false)

iniStr = ""
n = 0
addedUserList = false

Set tf = fso.CreateTextFile(iniPath & "\" & iniFileName & "._awaysrain.tmp", True)
'生成新的临时INI文件

Do While not ServUIni.AtEndOfStream
tmpStr = ServUIni.ReadLine

If Instr("awaysrain||" & tmpStr,"awaysrain||User")>0 Then
'记录用户原来的数量
n = n+1
End If

If Instr("awaysrain||" & tmpStr,"awaysrain||[USER=")>0 and not addedUserList Then
'往用户列表的部分添加现在的用户
n = n +1
tf.WriteLine("User" & n & "=" & userName & "|1|0")
addedUserList = true
End If
tf.WriteLine(tmpStr)
Loop
ServUIni.Close

'添加新用户的信息,具体内容可以在SERV-U中新建用户并对照INI文件

tf.WriteLine("[USER=" & userName & "|1]") '用户名
tf.WriteLine("Password=" & passWord) '密码
tf.WriteLine("HomeDir=e:\temp") '主目录
tf.WriteLine("RelPaths=1") '是否锁定用户于主目录
tf.WriteLine("MaxUsersLoginPerIP=1") '相同IP同时登录数
tf.WriteLine("SpeedLimitDown=102400") '最大下载速度
tf.WriteLine("TimeOut=600") '空闲超时时间(秒)
tf.WriteLine("Access1=E:\Temp|RLP") '可访问目录,可以不是一个,比如 'Access2=E:\Temp1|RLP'

tf.Close
'--------------------备份原来的INI文件--------------------------
Set f1 = fso.GetFile(iniPath & "\" & iniFileName)
f1.Copy (iniPath & "\" & iniFileName & "._awaysrain.bak")
f1.Delete
'--------------------把生成的临时INI文件改为正式的INI--------------------------
Set f1 = fso.GetFile(iniPath & "\" & iniFileName & "._awaysrain.tmp")
f1.Copy (iniPath & "\" & iniFileName)
f1.Delete

Set fso = nothing
%>
注:以上代码假设ServUDaemon.ini中的格式只有一个域并已经至少有一个用户 测试的ServUDaemon.ini文件结构如下: ================================== [Domain1] User1=222|1|0 User2=myfso111|1|0 [USER=222|1] Password=hwB1ECF70CDAF5DAE2B981AE394EEFCDC0 HomeDir=E:\Temp RelPaths=1 TimeOut=600 Access1=E:\Temp|RLP [USER=myfso111|1] Password=ai9118BFD94A9CE9CF37AE5BAA947ED596 HomeDir=e:\temp RelPaths=1 TimeOut=600 Access1=E:\Temp|RLP 生成后的文件结构如下 ================================== [Domain1] User1=222|1|0 User2=myfso111|1|0 User3=myfso222|1|0 [USER=222|1] Password=hwB1ECF70CDAF5DAE2B981AE394EEFCDC0 HomeDir=E:\Temp RelPaths=1 TimeOut=600 Access1=E:\Temp|RLP [USER=myfso111|1] Password=ai9118BFD94A9CE9CF37AE5BAA947ED596 HomeDir=e:\temp RelPaths=1 TimeOut=600 Access1=E:\Temp|RLP [USER=myfso222|1] Password=ai9118BFD94A9CE9CF37AE5BAA947ED596 HomeDir=e:\temp RelPaths=1 TimeOut=600 Access1=E:\Temp|RLP
分页: 8/9 第一页 上页 3 4 5 6 7 8 9 下页 最后页 [ 显示模式: 摘要 | 列表 ]