仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 498|回复: 9
打印 上一主题 下一主题

[学习教程] ASP网页设计ASP中页面限权会见的两种办法

[复制链接]
莫相离 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:15:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
asp是基于web的一种编程技术,可以说是cgi的一种。它可以完成以往cgi程序的所有功能,如计数器、留言簿、公告板、聊天室等等。会见|页面  在计划网页时,常常碰到某些页面需限权会见的情形。好比,一个公司的某些产物只让某一或某些供给商或客户扫瞄。那末,我们怎样完成这一功效呢?本文,笔者将向读者先容几种限定客户会见权限的办法。

  一般,我们在计划过程当中会晤临三种情形:某一页面只让某一用户扫瞄、某一页面只让某些用户扫瞄和某些页面只让某些用户扫瞄。第一种情形很复杂,笔者不再叙说,下文将具体先容后两种情形的计划办法。

  1、某一页面只让某些用户扫瞄
  将这些客户的信息保留在数据库中,若能在数据库中检索到客户输出的姓名和暗码就同意会见该页面。
  Protect.asp文件′需限权会见的页面

  〈html〉〈head〉〈title〉赛迪主页〈/title〉〈/head〉〈bodybgcolor="#00FFFF"〉

  ′此处可输出该页面的别的内容

  〈formaction="Protect.asp"method="post"〉

  请输出姓名:

  〈inputtype="text"name="text"〉

  请输出暗码:〈inputtype="password"size="20"name="password"〉

  〈inputtype="submit"name="B1"value="查询"〉〈/p〉〈/form〉

  〈%setconn=server.createobject("adodb.connection")

  conn.open"asptest"

  ′asptest是寄存客户信息的表单permission地点的数据库的名字

  sql1="selectfrompermissionwherexm="&&request.form("text")&&"andmima="&&request.form("password")&&""

  setrs=conn.execute(sql1)%〉

  ′假如数据库中存在客户输出的姓名和暗码,就显现页面product.asp的超等链接

  〈%ifnotrs.eofthen%〉〈ahref="product.asp"〉本公司的产物〈/a〉

  〈%endif%〉〈/body〉〈/html〉

  2、某些页面只让某些用户扫瞄
  我们能够计划一登录页面register.asp,假如客户没有登录,在进进每一个需限权会见的页面时强迫客户先会见页面register.asp完成登录。乐成登录以后主动前往到方才要会见的页面。我们可用cookies和session两种办法来完成。

  1.用cookies完成

  假如客户已登录过,就把登录的信息纪录在客户真个cookies中,以后客户便可间接扫瞄别的限权会见的页面。

  register.asp

  〈%ifrequest.form("b1")="提交"then

  setconn=server.createobject("adodb.connection")

  conn.open"asptest"

  sql1="select*frompermissionwherexm="&&request.form("name")&&"andmima="&&request.form("password")&&""

  setrs=conn.execute(sql1)

  ifnotrs.eofthen

  response.cookies("register")="true"

  rs.close

  conn.close

  endif

  ′若数据库中存在该用户的信息,就纪录该用户乐成登录的标志到cookies中

  endif%〉

  〈html〉〈head〉〈/head〉

  〈bodybgcolor="#c0c0c0"〉

  〈palign="center"〉〈big〉〈big〉〈big〉敬爱的客户,请您登录!〈/big〉〈/big〉〈/big〉〈/p〉〈hr〉

  〈formaction="register.asp"method="post"name="form1"〉

  〈divalign="center"〉〈p〉姓名:

  〈inputname="name"size="13"〉〈/p〉

  〈p〉暗码:〈inputname="password"

  size="13"type="password"〉〈/p〉〈/div〉

  〈divalign="right"〉〈inputtype="submit"name="b1"value="提交"〉〈/div〉〈/form〉〈/body〉〈/html〉

  Protect.asp文件′需限权会见的页面

  〈%ifrequest.cookies("register")〈〉"true"then

  response.redirect"register.asp"

  endif%〉

  ′若客户未登录,则强迫客户登录

  〈html〉〈head〉〈/head〉

  〈bodybgcolor="#00FFFF"〉

  ′此处是需回护的页面内容

  〈/body〉〈/html〉

  2.用session完成

  session是用户级的全局变量,我们将客户乐成登录的信息纪录到session中后,用户便可间接扫瞄别的限权会见的页面了。

  global.asp

  〈scriptlanguage=vbscriptrunat=server〉

  subSession_onstart

  session("register")="false"

  ′纪录客户乐成登录的信息

    session("lognumber")=0

  ′纪录客户实验登录的次数,最多同意实验三次

  session("prescript")=""

  ′纪录客户要会见的页面,以便登录后前往该页

  endsub

  〈/script〉

  register.asp

  〈%ifrequest.form("b1")="提交"then

  set

  conn=server.createobject("adodb.connection")

  conn.open"asptest"

  sql1="select*frompermissionwherexm="&&request.form("name")&&"andmima="&&request.form("password")&&""

  setrs=conn.execute(sql1)

  ifnotrs.eofthen

    session("register")="true"

  ′若数据库中存在该用户的信息,就纪录该用户乐成登录的标志到register变量中

  rs.close

  conn.close

  response.redirectsession("prescript")

  ′乐成登录后主动前往方才要会见的页面

  endif

  ifsession("lognumber")〈3then

  session("lognumber")=

  session("lognumber")+1

    response.redirect"register.asp"

  else

  response.redirect"sorry.asp"

  endif

  ′同意实验登录三次,若均未乐成,则克制会见并同时显现页面sorry.asp

  endif%〉

  〈html〉〈head〉〈/head〉

  〈bodybgcolor="#c0c0c0"〉

  〈palign="center"〉〈big〉〈big〉

  〈marqueealign="middle"

  behavior="alternate"〉接待您的到临,请您先登录!〈/marquee〉〈br〉

  〈%ifsession("lognumber")〉0then%〉

  输出有误!请从头输出姓名和暗码!

  〈%endif%〉

  〈/big〉〈/big〉〈/p〉〈hr〉

  〈formaction="register.asp"method="post"name="form1"〉

  〈divalign="center"〉〈p〉姓名:

  〈inputname="name"size="13"〉〈/p〉

  〈p〉暗码:〈inputname="password"

  size="13"type="password"〉〈/p〉〈/div〉

  〈divalign="right"〉〈inputtype="submit"name="b1"value="提交"〉

  〈/div〉〈/form〉〈/body〉〈/html〉

  Protect.asp文件  ′需限权会见的页面

  〈%ifsession("register")〈〉"true"then

  session("prescript")=

  request.servervariables("script_name")

  response.redirect"register.asp"

  endif%〉

  ′纪录该页面的路径到prescript变量中并强迫客户登录

  〈html〉〈head〉

  〈metahttp-equiv="Content-Type"

  content="text/html;charset=gb_2312-80"〉〈/head〉

  〈bodybgcolor="#00FFFF"〉

  ′此处可输出该页面别的内容的剧本

  〈/body〉〈/html〉

  以上几种办法,计划者能够依据体系的必要举行天真使用
ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;
海妖 该用户已被删除
沙发
发表于 2015-1-20 18:49:22 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
若相依 该用户已被删除
板凳
发表于 2015-1-29 14:54:36 | 只看该作者
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
admin 该用户已被删除
地板
发表于 2015-2-6 02:10:49 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
小女巫 该用户已被删除
5#
发表于 2015-2-14 23:49:59 | 只看该作者
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
变相怪杰 该用户已被删除
6#
发表于 2015-3-4 10:47:44 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
谁可相欹 该用户已被删除
7#
发表于 2015-3-11 18:32:25 | 只看该作者
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
灵魂腐蚀 该用户已被删除
8#
发表于 2015-3-19 07:45:53 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
再见西城 该用户已被删除
9#
发表于 2015-3-27 15:08:44 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
小妖女 该用户已被删除
10#
发表于 2015-3-27 15:08:47 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-16 11:16

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表