首页
社区
课程
招聘
[讨论] 程序中使用webbrowser控件的问题
发表于: 2013-6-30 17:48 7799

[讨论] 程序中使用webbrowser控件的问题

2013-6-30 17:48
7799
在程序中使用了webbrwoser控件来显示自己的网站, 但是别人点击右键后 ,可以看到当前页面的地址,  然后复制这个网址到浏览器,就可以从浏览器看到网站了.

我想要的效果是只能在我的程序中webrowser控件里显示我的网站,不能直接从浏览器访问.  

现在我是屏蔽了webbrowser的右键菜单来防止别人使用右键看到页面地址 ,但是这种方法不完美,别人查用工具下这个程序的网络连接,就又可以访问了.

WEB服务器是WIN+APACHE,  有什么完美的解决方案么?

<?php

已经解决:

自定义http头   , 在user-agent里写自定义的东东,  比如  user-agent:test ;

然后

在页面中判断:

if ($_SERVER['HTTP_USER_AGENT'] != "test")
{
  die();  //  user-agent  不是"test"  就die
}

?>

别人要访问,只要抓包得到我这个http头就行,  不过  我要防范的是一般人 ,  所以这种方法够用了

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 228
活跃值: (115)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
2
webbrowser自定义浏览器版本,然后服务器禁止掉所有非你自定义浏览器版本的访问!
2013-6-30 18:00
0
雪    币: 478
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
"webbrowser 自定义浏览器版本"?

webbeowser是调用的ie , 它的版本应该是取决于用户机子上安装的IE版本吧 ,  如果用户用的是IE6,  服务器取到的版本就是IE6,   如果是IE8  ,服务器取得的就是 iE8啊.

难道你的意思是 , 自己构造http请求头 ?   然后利用apache 或者在php页面中检测这个自定义的请求头?
2013-6-30 18:06
0
雪    币: 496
活跃值: (291)
能力值: ( LV13,RANK:400 )
在线值:
发帖
回帖
粉丝
4
只要你使用的HTTP协议,你就不能组织别人看到你访问的地址。

要实现你的需求
简单的可以在Server端做一下判断,判断Client的UA,但是这个仍然会被被人发现。

要实现安全除非不用HTTP,而是自己实现私有协议。
2013-6-30 18:19
0
雪    币: 3098
活跃值: (229)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
....................
2013-6-30 21:46
0
雪    币: 223
活跃值: (516)
能力值: ( LV13,RANK:520 )
在线值:
发帖
回帖
粉丝
6
不可能实现的
无论怎样 都能监听 欺骗
2013-6-30 23:25
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
只要有网络访问就不能避免被抓到,应该无解。。
2013-6-30 23:28
0
雪    币: 228
活跃值: (115)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
8
可以实现,SSL 双向验证.+ 客户端参与页面脚本计算  企业级典范,网银之类都是这么做!
2013-7-1 06:34
0
雪    币: 228
活跃值: (115)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
9
这个是简单粗暴又省事的办法,不过你也可以选择正规的办法,SSL双向验证.自己百度吧.我不会描述要怎么做.
例如这样http://tanmaoxtu.blog.sohu.com/103754459.html的解释.
再来是把客户端参与到页面计算中,这个范围就很大了,你可以通过控制页面元素,或者提交某些特定资料来完成.像网银之类的是直接自己画出密码输入框!
2013-7-1 06:36
0
雪    币: 276
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
SSL也无用,只要是http系列协议。
2013-7-1 07:15
0
雪    币: 223
活跃值: (516)
能力值: ( LV13,RANK:520 )
在线值:
发帖
回帖
粉丝
11
他是为了静止别人从其它browser访问
只有他写的browser才能访问
这和ssl没有关系 不是吗
2013-7-1 08:32
0
雪    币: 478
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
已经解决:

自定义http头   , 在user-agent里写自定义的东东,  比如  user-agent:test ;

然后

在页面中判断:

if ($_SERVER['HTTP_USER_AGENT'] != "test")
{
        die();  //  user-agent  不是"test"  就die
}
2013-7-1 09:57
0
雪    币: 223
活跃值: (516)
能力值: ( LV13,RANK:520 )
在线值:
发帖
回帖
粉丝
13
[QUOTE=cnxxm;1193981]已经解决:

自定义http头   , 在user-agent里写自定义的东东,  比如  user-agent:test ;

然后

在页面中判断:

if ($_SERVER['HTTP_USER_AGENT'] != "test")
{
        die();...[/QUOTE]

这样似乎并不能解决你的问题,别人完全可以自己修改ua.
2013-7-1 10:16
0
雪    币: 223
活跃值: (516)
能力值: ( LV13,RANK:520 )
在线值:
发帖
回帖
粉丝
14
[QUOTE=cnxxm;1193981]已经解决:

自定义http头   , 在user-agent里写自定义的东东,  比如  user-agent:test ;

然后

在页面中判断:

if ($_SERVER['HTTP_USER_AGENT'] != "test")
{
        die();...[/QUOTE]

UA用户可以任意编辑修改添加.所以你的问题是没有办法实现的.
至少B/S是没有办法实现的.
上传的附件:
2013-7-1 10:20
0
雪    币: 478
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
要求不是很高    这样就行了   只要别人直接复制地址不能访问就行
2013-7-1 10:23
0
雪    币: 228
活跃值: (115)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
16
程序自己拥有SSL嘛.不给普通浏览器签发嘛..
2013-7-1 20:03
0
游客
登录 | 注册 方可回帖
返回
//