default.asp
上传用户:shbosideng
上传日期:2013-05-04
资源大小:1555k
文件大小:10k
源码类别:

SNMP编程

开发平台:

C/C++

  1. <% @LANGUAGE="VBSCRIPT"        %>
  2. <% Response.Expires = 0        %>
  3. <% Server.ScriptTimeout = 1200 %>
  4. <% On Error Resume Next        %>
  5. <!-- #INCLUDE FILE="monitor.inc" -->
  6. <%
  7.   ' Check if we have to log out... 
  8.   If Request.QueryString("mode") = "logout" Then
  9.     ' Update the circuit access date
  10.     ' Get the record ID to update
  11.     LineID = Session("DBID")
  12.     If LineID = "" Then      ' The Session Expired
  13.       Response.Redirect(LogOutURL)
  14.     End If
  15.     
  16.     Set rsAuthenticate = DBConn.Execute("UPDATE Monitor_Authenticate SET LastVisit='" &_
  17.                                            Month(Date()) & "/" & Day(Date()) & "/" &_
  18.                                            Year(Date()) & " " & Time &"' WHERE (ID=" & LineID & ")")
  19.     Session.Abandon
  20.     Response.Redirect(LogOutURL)
  21.   End If
  22. ' Status is a universal indicator implemented to show us which part of the authentication process is
  23. '  failing.
  24. ' For now, Status has the following values.
  25. '  0)  No errors, everything was successfull.
  26. '  1)  Circuit number not found in the database.
  27. '  2)  The given password did not match for the circuit number.
  28. '  3)  We are logged out and should redirect back to SunnyLine
  29. ' We only execute this code if the user actually submitted the login form from the page.
  30. If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
  31.   
  32.   ' Get the values that he or she entered at the login page.
  33.   Number = Request.Form("Number")
  34.   Password = Request.Form("Password")
  35.   ' Setup a default error code.  We use a incorrect circuit number here.
  36.   Status = 1
  37.   ' Did The User Enter a circuit number & password?
  38.   If Number = "" Then
  39.     Status = 1  ' No circuit number
  40.   Elseif Password = "" Then
  41.     Status = 2  ' No password
  42.   Else
  43.     Status = 0  ' We have a circuit number & password, lets continue.
  44.   End If
  45.   
  46.   ' If we have both circuit number and password, compare it to the database.
  47.   If Status = 0 Then
  48.     ' Pull the circuit number from the database.
  49.     Set rsAuthenticate = DBConn.Execute("SELECT * FROM Monitor_Authenticate WHERE LineNumber=" & Number)
  50.  
  51.     Do While not rsAuthenticate.EOF
  52.       ' We need to give DBPassword an initial value.  If for instance, a client enteres a circuit 
  53.       '  number which is not located in the database, the lookup will fail and DBPassword won't have a 
  54.       '  value for us to compare to.  The Rnd Function should be secure enough?
  55.       DBPassword = Rnd(10)
  56.       DBID = rsAuthenticate("ID")
  57.       DBLine = rsAuthenticate("LineNumber")
  58.       DBPassword = rsAuthenticate("LinePassword")
  59.       DBSpeed = rsAuthenticate("LineSpeed")
  60.       DBEMail = rsAuthenticate("EMail_Address")
  61.       DBG_Day = rsAuthenticate("Graph_Day")
  62.       DBG_Week = rsAuthenticate("Graph_Week")
  63.       DBG_Month = rsAuthenticate("Graph_Month")
  64.       DBG_Year = rsAuthenticate("Graph_Year")
  65.       DBG_EMail = rsAuthenticate("Graph_EMail")
  66.       DBDate = rsAuthenticate("LastVisit")
  67.       If DBPassword = Password Then
  68.         ' We got what we wanted, close the database connection...  Just for incase.
  69.         rsAuthenticate.close
  70.         Set rsAuthenticate = nothing
  71.         ' We setup the values inside the session before or after we move into monitor.
  72.         ' This is just so that we don't have to do the entire lookup process again at displaying the graps to the user, if
  73.         ' we save the values now, we are able to reference any setting in the DataBase that we would need at any given time.
  74.         Session("DBID") = DBID
  75.         Session("DBLineNumber") = DBLine
  76.         Session("DBLinePassword") = DBPassword
  77.         Session("DBLineSpeed") = DBSpeed
  78.         Session("DBEMail_Address") = DBEMail
  79.         Session("DBGraph_Day") = DBG_Day
  80.         Session("DBGraph_Week") = DBG_Week
  81.         Session("DBGraph_Month") = DBG_Month
  82.         Session("DBGraph_Year") = DBG_Year
  83.         Session("DBGraph_EMail") = DBG_EMail
  84.         Session("DBLastVisit") = DBDate
  85.         ' And we redirect !!
  86.         Response.Redirect(MonitorURL)
  87.       Else
  88.         ' Passwords didnt match.  We are not going to worry about incorrect circuit numbers, that
  89.         '  will just make it easier for someone to maybe guess a line number if he or she has 
  90.         '  nothing better to do!
  91.         Status = 2
  92.       End If
  93.       
  94.       rsAuthenticate.MoveNext
  95.     Loop
  96.      
  97.     '  If we are here, there was serious error.  This means perhaps a incorrect curciut number and or
  98.     '   incorrect password.  In any case, the lookup did fail, and we have no reference what so ever to the given value for 
  99.     '   the circuit number or password.  Close the database and send the user back to the login section.
  100.     rsAuthenticate.close
  101.     Set rsAuthenticate = nothing
  102.   End If   
  103. End If
  104. %>
  105. <html>
  106. <head>
  107. <meta http-equiv="Content-Language" content="en-za">
  108. <meta http-equiv="Cache-Control" content="No Cache">
  109. <meta http-equiv="Pragma" content="No Cache">
  110. <meta http-equiv="Expires" content="0">
  111. <title>Welcome To Monitor!!</title>
  112. <link rel="StyleSheet" href="global/default.css" type="text/css">
  113. <link rel="StyleSheet" href="global/additional.css" type="text/css">
  114. </head>
  115. <body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" onload="Clock()">
  116. <table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td valign="top">
  117. <table border="0" cellpadding="0" cellspacing="0" width="100%">
  118.  <tr>
  119.   <td valign="top" align="left"><font size="1"><img src="images/spacer.gif" width="53" height="52" alt></font></td>
  120.   <td valign="top" align="left" width="100%">
  121.   <h1><span class="HEADING"><font face="Verdana,Arial,Helvetica" size="1">Welcome to Monitor.SunnyLine.co.za</font></span></h1>
  122.   </td>
  123.  </tr>
  124. </table>
  125. <p><font size="1">Congratulations on the purchase of your high-speed permanent connections to the Internet.&nbsp; Please take a moment and log on to our monitoring system
  126. to see you bandwidth usage.</font></p>
  127. <p><font size="1">Your Circuit number will be the number printed on your Data Unit installed by Telkom (The small black box where your NTU or Modem plugs into).&nbsp; If
  128. you have any problems locating your Circuit number, or have problems authenticating with this service, please contact us for immediate assistance at <a href="mailto:support@sunnyline.co.za">support@sunnyline.co.za</a></font></p>
  129. <p><font size="1">Wondering what is Monitor! Well, don't worry, read up all about monitor by clicking <a href="/monitor.html">here</a>.</p>
  130. <form method="POST" action="default.asp">
  131.  <div align="center">
  132.   <center>
  133.   <table border="0" cellpadding="2" cellspacing="1">
  134.    <tr>
  135.     <td>
  136.     <div align="right">
  137.      <p><font size="1">Circuit Number:</font>
  138.     </div>
  139.     </td>
  140.     <td><font size="1"><input type="text" name="Number" size="20" value="<%= Number %>"></font></td>
  141.     <td>
  142.     <div align="left">
  143.      <p><b><font color="#FF0000" size="1"><% If Status = 1 Then
  144.                                              Response.Write ("Invalid Circuit Number!!!")
  145.                                            End If %></font></b>
  146.     </div>
  147.     </td>
  148.    </tr>
  149.    <tr>
  150.     <td>
  151.     <div align="right">
  152.      <p><font size="1">Your Password:</font>
  153.     </div>
  154.     </td>
  155.     <td><font size="1"><input type="password" name="Password" size="20" maxlength="8"></font></td>
  156.     <td>
  157.     <div align="left">
  158.      <p><b><font color="#FF0000" size="1"><% If Status = 2 Then
  159.                                              Response.Write ("Invalid Password!!!")
  160.                                            End If %></font></b>
  161.     </div>
  162.     </td>
  163.    </tr>
  164.    <tr>
  165.     <td colspan="2" align="center"><font size="1"><input type="submit" value="Submit" class="BUTTON"></font></td>
  166.     <td></td>
  167.    </tr>
  168.   </table>
  169.   </center>
  170.  </div>
  171. </form>
  172. &nbsp;
  173. <div align="center">
  174.  <center>
  175.  <table border="0" cellpadding="0" cellspacing="0">
  176.   <tr>
  177.    <td colspan="2">
  178.    <p class="Greenhead" align="center"><font size="1">Guest Users:</font></td>
  179.   </tr>
  180.   <tr>
  181.    <td align="right"><font size="1">Please log in with Circuit Number:&nbsp;</font></td>
  182.    <td align="left"><font size="1"><b>1234567890</b></font></td>
  183.   </tr>
  184.   <tr>
  185.    <td align="right"><font size="1">and Password:&nbsp;</font></td>
  186.    <td align="left"><font size="1"><b>12345678</b></font></td>
  187.   </tr>
  188.   <tr>
  189.    <td align="left" colspan="2">
  190.    <p align="center"><font size="1">to see a demo of this service right now.</font></td>
  191.   </tr>
  192.  </table>
  193.  </center>
  194. </div>
  195. &nbsp;</font>
  196. </td></tr></table>
  197. <table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td>
  198. <div align="left">
  199.   <table border="0" cellpadding="0" cellspacing="0" width="100%">
  200.     <tr>
  201.       <td colspan="2" valign="top" align="center">
  202.         <p align="center"><font size="1"><b>