仓酷云

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

[学习教程] ASP编程:关于ASP编程中平安性成绩的办理计划

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:25:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
只要你想学,就没什么优缺点,上面那位大哥已经把网上的评论说了,但我认为想学哪个都一样,不然它就不可能在当今时代数字艺术方面存活到今天1、成绩形貌
尺度的HTML语句大概javascript语句会改动输入了局
比方:
在留言板中,我们在留言内容中打进:
<fontsize=10color=red>你好</font>
假如你的ASP程序中没有屏障html语句,那末就会改动"你好"字体的巨细。
又好比:
在输出框中写个javascript的逝世轮回:
<aherf=http://someurl>特年夜旧事</a>
 那末其他检察该留言的主人只需挪动鼠标到"特年夜旧事",上就会利用户的扫瞄器因逝世轮回而逝世失落。

办理办法和倡议:
编写相似程序时应当做好对此类操纵的提防,比如能够写一段程序判别客户真个输出,并屏障失落一切的HTML、javascript语句。使用上面函数HtmlEnCode()处置:
FunctionHtmlEnCode(str)
交换空格标记
str=Replace(str,"","")
交换字符"<",">"
str=Replace(str,"<","<")
str=Replace(str,">",">")
交换行
str=Replace(str,chr(13),"
")
HtmlEnCode=Str
EndFunction

2、成绩形貌
用户COPY下表单后,修正ACTION到指定的URL
比方:
新建一个公布页面,未到场客户真个数据正当性反省代码,若指定表单ACTION到提交页面,则经由过程你的程序出口,可向数据库输出分歧法的数据,或招致数据库堕落。

办理办法和倡议:
经由过程上面的历程能够办理:
SubCheckSubmit(Dir)
DimParentURL,ChildURL
读取上一个跳转页面的地点,而且转换为小写字符窜
ParentURL=lcase(Request.ServerVariables("HTTP_REFERER"))
ChildURL=lcase("http://www.kupage.com/"&Dir)
IfInstr(ParentURL,ChildURL)=0Then
StrTemp="
<li>您的提交文件分歧法!"
CallShowErrMsg(StrTemp)‘ShowErrMsg()堕落提醒历程
EndIf
EndSub
备注:
1)利用此历程时,事后要在ChildURL中输出本站域名,注重不克不及输出IP地点,应为HTTP_REFFERER前往的参数为域名。
2)传送的参数Dir是以后的文件地点的绝对目次路径。
3)假如这个网站有2个或2个以上的域名指向,能够在前提语句上并列一个前提,假如域名www.51hu.com也指向这个IP地点(更多依样画葫芦),前提语句头能够一下判别:
IfInstr(ParentURL,ChildURL)=0andInstr(ParentURL,lcase(“www.51hu.com”&Dir))Then

3.成绩形貌
用输出框修正SQL语句
办理办法和倡议:
屏障失落’“&+等标记,注重当克制键盘输’”&+等不法标记时,用户还大概用COPY的办法输出;另有一种办法就是用一个转换函数,把不法字符转换为正当,从数据库中掏出时再转换返来。
可自创以下函数:(在实行SQL命令前对特别字符举行转换)
FunctionAdjustedForSQL(adj_str)
DimAdjustedStr,I
Adj_str=Trim(adj_str)
AdjustedStr=””
IfLen(adj_str)>0Then
ForI=1ToLen(adj_str)
SelectCaseMid(adj_str,I,1)
Case”[”:
AdjustedStr=AdjustedStr&“[]”
Case“|”:
AdjustedStr=AdjustedStr&“[{-}]”
Case“’”:
AdjustedStr=AdjustedStr&“[&-()”
CaseElse:
AdjustedStr=AdjustedStr&Mid(adj_str,I,1)
EndSelect
Next
EndIf
AdjustedForSQL=AdjustedStr
EndFunction

4.成绩形貌
点击前进重复革新数据库
比方:
公布页面中,公布完一条信息后点击前进,持续公布,重复操纵,会招致系数据库过剩有效数据。
办理办法和倡议:
可在工夫上对下一次数据库操纵举行把持:
Session("PutInfo")=Now()
在举行数据库操纵时,最好是读取表单变量之前加下一句
IfDateAdd("s",30,Session("PutInfo"))>Now()Then
Response.Write"<scriptlanguage=javascript>alert(""您公布信息的距离工夫不克不及低于30秒!"");history.back();</script>"
Response.End
EndIf

5.成绩形貌
ASP程序暗码考证成绩
比方:
在用户名框中输出恣意值,暗码框中输出benor1=1,如许就绕过了暗码考证,将以数据库中第一个用户的身份上岸。

办理办法和倡议:
1)屏障输出框中的标记”’”
2)在用户登录页面临于用户名和暗码不要同时加以判别,只对用户名举行判别,依据用户名在数据库中查找是不是有与之婚配的暗码,再将数据库中的暗码与输出框中的内容举行对照

6.成绩形貌
间接修正扫瞄器中URL传送的参数值

办理办法和倡议:
1)只管不要在链接中带主要的参数,在承受参数时应对哀求人举行权限判别。
2)若传送的参数为数字,应对传送的参数做正当性判别。

当然了,现在国内CRM厂商的产品与其说是CRM,但从至少从我的角度分析上来看,充其量只是一个大型的进销存而已了,了解尚浅,不够胆详评,这里只提技术问题
若天明 该用户已被删除
沙发
发表于 2015-1-17 18:11:07 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
飘飘悠悠 该用户已被删除
板凳
发表于 2015-1-21 07:11:24 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
若相依 该用户已被删除
地板
发表于 2015-1-30 10:46:46 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
变相怪杰 该用户已被删除
5#
发表于 2015-2-6 10:11:53 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
柔情似水 该用户已被删除
6#
发表于 2015-2-15 23:09:55 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
透明 该用户已被删除
7#
发表于 2015-3-4 18:17:31 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
山那边是海 该用户已被删除
8#
发表于 2015-3-11 20:36:44 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
兰色精灵 该用户已被删除
9#
发表于 2015-3-19 12:19:52 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
活着的死人 该用户已被删除
10#
发表于 2015-3-28 02:36:28 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 02:03

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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