作为WEB程序员!安全问题还是我们的最首要解决的问题!请大家讨论一下!

liaoyinglong 2003-09-23 06:25:24
在ASP中引用自已的控件会出现诸多的安全隐患!
如何在控件中把接口不能让客户看到了。就是说查看源文件代码!
如:
一个必须通过身份验证的页面(含控件),如何避免用户通过COPY该页面的HTML语言来逃避ASP的验证代码!

100分不够再次开贴!
...全文
42 59 打赏 收藏 转发到动态 举报
写回复
用AI写文章
59 条回复
切换为时间正序
请发表友善的回复…
发表回复
zihualive 2003-09-25
  • 打赏
  • 举报
回复
不太懂,观注。
liaoyinglong 2003-09-25
  • 打赏
  • 举报
回复
runmin(悟空~你就别追了...)

不通过验证就可直接用这个控件进行业务处理!
blues-star 2003-09-25
  • 打赏
  • 举报
回复
不知道指的是哪方面的安全?
liaoyinglong 2003-09-25
  • 打赏
  • 举报
回复
现在我终于想到一个好的办法!

我的思想是这样的:在服务器端下载我的控件时我带一个验证码给控件!
然后把这个验证码保存到数据库中!把这个验证码作为参数带给控件!
在控件中做一段验证代码!如果这个验证码与数据库中的验证码一样的话!(找到的话)
就删除数据库中的记录然后激活控件到工作状态!
如果没有找到的话!就不必理会!

liaoyinglong 2003-09-25
  • 打赏
  • 举报
回复
xanewong111(冰吻)

大家不能解决的就是变态题!


呵。。。。
liaoyinglong 2003-09-25
  • 打赏
  • 举报
回复
这贴结了。
1蓝天1 2003-09-24
  • 打赏
  • 举报
回复
up
liaoyinglong 2003-09-24
  • 打赏
  • 举报
回复
xanewong111(冰吻)
源程序如下:
Asp文件:
<Html>
<Body>
<!-- 此中为验证代码 -->
</Body>
<Form name="Form1">
<!-- 以下为我的控件 -->
<Object Id="MyOcx" ClassId="CLSID:1234-7894-1234-45678xxxxI0" CodeCase="../cab/MyOcx.Cab#VerSion=1.00.00.1">
<Param Name="UserName" Value="<%=UserName%>">
<Param Name="PassWord" Value="<%=PassWored%>">
</Object>
</Form>

此程序被IIS解释执行后代码如下:
Htm文件:
<Html>
<Body>
</Body>
<Form name="Form1">
<Object Id="MyOcx" ClassId="CLSID:1234-7894-1234-45678xxxxI0" CodeCase="../cab/MyOcx.Cab#VerSion=1.00.00.1">
<Param Name="UserName" Value="LiaoYingLong">
<Param Name="PassWord" Value="************">
</Object>
</Form>
安全隐患就出现在这个地方!
只要把这个Htm文件Copy到其他的机器上就可以不要通过我的验证代码直接进行操作呢!
  • 打赏
  • 举报
回复
恩,是这样的,你必须在服务端加上Session的认证,这是最简单最有效的方法
xanewong111 2003-09-24
  • 打赏
  • 举报
回复
所以我想知道如何:
如何在网页中屏蔽控件的接口参数!
让客户不能看到你的控件接口参数!
---------------------------
你是个么回事撒?我还冒听明白你是个么意思,举个例子来听听撒~!~!~
liaoyinglong 2003-09-24
  • 打赏
  • 举报
回复
xanewong111(冰吻)

谢谢你呢!如果此页没有控件!
我相信这个方法一定可行!
但有了控件就不是Form的问题呢!因为控件是直接与数据端进行交换数据的!
而不经过提交来完成!
只是在此Form中激活此控件而已!余下来的事就全部给了控件来完成!

所以我想知道如何:
如何在网页中屏蔽控件的接口参数!
让客户不能看到你的控件接口参数!

如果只有纯Asp程序和Html语言的话!
你的方法和他们的方法都是可行的.
twsky 2003-09-24
  • 打赏
  • 举报
回复
我同意 xanewong111(冰吻) 的方法,你要到屏蔽form提交地址真的不可能,就连ASP。NET也做不到,我觉得用session 比较好,哈哈 这是我的个人看法
xanewong111 2003-09-24
  • 打赏
  • 举报
回复
request.ServerVariables("HTTP_REFERER")
用这个判断是否来自同一服务器。

网页中你怎么样也办不到屏蔽form提交地址的,这个你就不用试了。

用session和request.ServerVariables("HTTP_REFERER")足够可以防止外部提交的情况了,正儿八经的ASP安全问题是你的服务器是否安全和FORM表单提交关于非法字符判断的问题,这两个问题你如果都做好了,剩下的安全问题你在考虑的话,那么有点杞人忧天了~~~~
zxmout 2003-09-24
  • 打赏
  • 举报
回复
代码加密是没有用的,你加密使用的软件,别人早有了解密的软件。如果你能自己写一个加密程序,其算法不为人知,我想还有一定的效果。可是,道高一尺,魔高一丈。想黑就没有黑不了的。我项大家还是应该把心放开一点,正视这个事情。但是象session("user")<>"" 的认证还是很有必要的。不要想太多了哦!
dw2003 2003-09-24
  • 打赏
  • 举报
回复
大师我还是不明呀?
hfkj 2003-09-24
  • 打赏
  • 举报
回复
:)
liaoyinglong 2003-09-24
  • 打赏
  • 举报
回复
或许我陈述的不够明白!
如何在网页中屏蔽控件的接口参数!
让客户不能看到你的控件接口参数!
dw2003 2003-09-24
  • 打赏
  • 举报
回复
那怎样轮换呀?请指教?
popcode 2003-09-24
  • 打赏
  • 举报
回复
楼主:自己先把哪些是在客户端执行,哪些是在服务器端执行的弄清楚!
yuanxy 2003-09-24
  • 打赏
  • 举报
回复
to liaoyinglong
判断提交者url地址(用server对象)的地址如果不是从www.???.com提交过来的就不处理
加载更多回复(39)

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧