经典ASP单页安全

时间:2011-03-18 16:10:50

标签: html authentication asp-classic

我有一个需要更安全的页面。基本上该页面显示了一些电话号码,并用html编写。服务器只支持asp。只有2-3人会去这个页面。我想要最简单的用户名密码脚本,仅适用于此页面。

这可能吗?我见过的大部分教程都是针对两页设置的。

不是数据库驱动的,密码/用户名将在代码中

3 个答案:

答案 0 :(得分:1)

我已经有一段时间了,因为我已经完成了任何经典的ASP,所以语法可能有些偏差,但基本上它看起来像:

<% 
     Function Login(username,password)
        Login = False
        If Trim(LCase(username)) = "somebodywhocanseethepage" And Trim(LCase(password)) = "opensaysame" Then
               Login = True
        End If
     End Function

     Sub WriteLoginForm()
     %>
     <form action="<%= Request.ServerVariables("SCRIPT_NAME") %>" method="post">
          <input type="hidden" name="_TRIGGER" id="_TRIGGER" value="LOGIN" />
          Username: <input type="text" name="username" id="username"  /><br />
          Password: <input type="password" name="password" id="password" /><br />
          <input type="submit" value="Login" />
     </form>
     <%
     End Sub

     Sub WritePageContent()
     %>
     <h1>Phone Numbers</h1>
     <ul>
       <li>867-5309</li>
       <li>911</li>
       <li>2 8 1, 3 3 oh, eight zero zero fo'</li>
     </ul>
     <%
     End Sub

     If Request.Form("_TRIGGER") = "LOGIN" 
         If Login(Request.Form("username"),Request.Form("password")) 
             WritePageContent
         Else 
             Response.Write "Login failed.<br />"
             WriteLoginForm
         End If
     Else
         WriteLoginForm
     End If
%>

我没有对此进行测试,但是如果它不是100%正确,那么它非常接近,您可以调整它以满足您的需求。如果您必须进行任何编辑,请告诉我,以便我可以为将来的用户更新答案。

答案 1 :(得分:1)

如果您在IIS上的Windows域环境中执行此操作,则可以根据登录用户限制页面。不需要任何表格。您必须确保服务器未设置为允许匿名登录。

domainUsername = Request.ServerVariables("AUTH_USER")
if domainUsername = "domain\usera" or domainUsername = "domain\userb" then
    'show numbers
else
    'show error
end if

答案 2 :(得分:1)

只需在查询字符串中检查密码即可。根据问题的要求,这非常简单,我真的不敢在这个脚本中放置任何远程敏感的东西,但是为了绝对的基本保护,这应该足够了。

我从查询参数名称中删除了密码,因为我确信很多人会嗅到通过网络传输的那类数据。

示例网址:

http://www.mysite.com/page.asp?mysecretquery=mypassword

<%
    if request.querystring("mysecretquery") = "mypassword" then
%>
<html>
<body>
    My data.
</body>
</html>
<%
    else
        response.write("Error")
    end if
%>