классическая ASP одностраничная безопасность - PullRequest
0 голосов
/ 18 марта 2011

У меня есть страница, которая должна быть более безопасной.В основном страница показывает несколько телефонных номеров и написана в формате HTML.Сервер поддерживает только asp.и только 2-3 человека когда-либо перейдут на эту страницу.Я хотел бы самый простой скрипт имени пользователя, только для этой страницы.

Возможно ли это?Большинство учебных пособий, которые я видел, предназначены для двухстраничной настройки.

не управляется базой данных, пароль / имя пользователя будет в коде

Ответы [ 3 ]

1 голос
/ 19 апреля 2011

Если вы делаете это в среде домена Windows на IIS, вы можете просто ограничить страницу в зависимости от пользователя, вошедшего в систему.Не нужно никаких форм.Вы должны убедиться, что на сервере не разрешен анонимный вход.

domainUsername = Request.ServerVariables("AUTH_USER")
if domainUsername = "domain\usera" or domainUsername = "domain\userb" then
    'show numbers
else
    'show error
end if
1 голос
/ 19 апреля 2011

Просто проверьте пароль в строке запроса.В соответствии с требованиями вопроса, это чрезвычайно просто, и я действительно не посмел бы поместить в этот скрипт что-либо, что чувствительно к удаленным объектам, но для абсолютной базовой защиты этого должно быть достаточно.

Я снял пароль с имени параметра запроса какЯ уверен, что многие люди обнюхивают такие данные, проходящие через Интернет.

Пример URL:

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
%>
1 голос
/ 18 марта 2011

Прошло много времени с тех пор, как я сделал какой-нибудь классический 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% правильно, это довольно близко, и вы можете настроить его так, как вам нужно.Дайте мне знать, если вам нужно будет внести какие-либо изменения, чтобы я мог обновить ответ для будущих пользователей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...