当前位置:编程学习 > C#/ASP.NET >>

【征集】公司的财务网站,如何实现只允许某些已知的IP访问??

公司的财务网站,如何实现只允许某些已知的IP访问??
业务需要开放外网...鉴于安全性,能否设置仅允许固定的IP量进行访问??

另:IE浏览器的访问记录,手工清除后,还原系统能否再次查看原历史记录呢?? --------------------编程问答-------------------- 登录的时候判断IP不就行了
还原系统是你重做系统了吗? --------------------编程问答-------------------- 你都固定了还在程序里费什么事...直接在防火墙或IIS里配置白名单列表... --------------------编程问答-------------------- 就那么点人 还需要弄那么多事? --------------------编程问答-------------------- .net的可以取得 客户端的 ip,mac 

你只要做一个 允许 ip 列表,每一个客户端 访问时,判断 ip是否在列表中 不就得了吗? --------------------编程问答--------------------
引用楼主 mmxx010 的回复:
另:IE浏览器的访问记录,手工清除后,还原系统能否再次查看原历史记录呢??

那要看你的还原点时刻,还原点以后的都不能恢复... --------------------编程问答--------------------
引用 1 楼 lianhui1122 的回复:
登录的时候判断IP不就行了
还原系统是你重做系统了吗?


嗯,在首页load时,和数据库ip配对,不对跳转到其它页,这样的机制是否草率? --------------------编程问答--------------------
引用 2 楼 vrhero 的回复:
你都固定了还在程序里费什么事...直接在防火墙或IIS里配置白名单列表...


这是一个办法,只是管理员配置的灵活性要小些。。
可否在程序首页加载时判断?


--------------------编程问答--------------------
引用 5 楼 vrhero 的回复:
引用楼主 mmxx010 的回复:
另:IE浏览器的访问记录,手工清除后,还原系统能否再次查看原历史记录呢??

那要看你的还原点时刻,还原点以后的都不能恢复...


即使能恢复,但我们的网站需要用户名和密码来访问方可查看统计表等相关有权限的报表,
第三方能否通过IE浏览器缓存或其它的办法来查看登陆过的机器历史记录呢,

--------------------编程问答--------------------
引用 4 楼 liu2835993 的回复:
.net的可以取得 客户端的 ip,mac

你只要做一个 允许 ip 列表,每一个客户端 访问时,判断 ip是否在列表中 不就得了吗?


正解! --------------------编程问答-------------------- .net的可以取得 客户端的 ip,mac 
??

------------------------------------
b/s的,行不通吧, 不是客户端的财务,是网站.. --------------------编程问答-------------------- 路过 --------------------编程问答--------------------

string strIP = Page.Request.UserHostAddress;
System.Net.IPAddress ip = System.Net.IPAddress.Parse(Request.UserHostAddress);      //根据目标ip地址的获取ip对象

System.Net.IPHostEntry ihe = System.Net.Dns.GetHostEntry(ip);    //根据ip对象创建主机对象
string UserHostName = ihe.HostName;


获取IP和计算机名称 using System.Net;

另外IIS可以设置访问的IP的。如果是自己的服务器,防火墙也可以设置IP,如果在局域网内,可以启用域登录判断。

--------------------编程问答-------------------- IIS可以设置访问的IP的。

嗯,这点值得考虑,谢谢关注和建议的几位, --------------------编程问答-------------------- Global.asax 里,有处理每次session和请求开始的事件。在这里过滤请求的ip。 --------------------编程问答-------------------- 客户端的IP都是固定的? --------------------编程问答--------------------
引用 15 楼 teng_s2000 的回复:
客户端的IP都是固定的?


嗯,可以这么说,兄弟有啥建议否? --------------------编程问答--------------------
引用 10 楼 mmxx010 的回复:
.net的可以取得 客户端的 ip,mac
 ??

 ------------------------------------
 b/s的,行不通吧, 不是客户端的财务,是网站..

IP可以的。


if(pg.Request.ServerVariables["HTTP_VIA"]!=null)
            {
                IpAddress = pg.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
            }
            else
            {
                IpAddress = pg.Request.ServerVariables["REMOTE_ADDR"].ToString();
            }
            BrowserName = bc.Browser.ToString();
            BrowserVersion = bc.Version.ToString();
            UserAgent = pg.Request.ServerVariables["Http_User_Agent"].ToString();
            OS = bc.Platform.ToString();
            LocalLanguage = pg.Request.UserLanguages[0].ToString();

--------------------编程问答--------------------
引用 9 楼 lmg1578 的回复:
引用 4 楼 liu2835993 的回复:
 .net的可以取得 客户端的 ip,mac

 你只要做一个 允许 ip 列表,每一个客户端 访问时,判断 ip是否在列表中 不就得了吗?


 正解!


还正解??你B/S的网站用C#给我获取到客户端的MAC给我看看呀。 --------------------编程问答-------------------- 还是用IIS自带的IP地址控制行了 可以限制哪些IP访问网站

访问记录清除后应该可以恢复的 
不过就算恢复了历史记录,只要你页面设置不缓存,知道地址没有权限也看不到啊 --------------------编程问答--------------------

有办法只允许某个省的IP查看网站吗??
各运营商都不一样吧? --------------------编程问答-------------------- 找一个能够得到真实IP地址的免费的webservice,然后建立以个IP表进行不可以访问的Ip地址,然后判断,要是害怕读取数据库次数多,可以将数据缓存,以便提高性能。 --------------------编程问答-------------------- r --------------------编程问答--------------------
引用 20 楼 mmxx010 的回复:
有办法只允许某个省的IP查看网站吗??
 各运营商都不一样吧?

每个省的IP都是有固定 规则的,你先要到网上找到相关的库 --------------------编程问答-------------------- 用纯真的IP数据库就可以了 --------------------编程问答-------------------- 建议把服务器做成域服务器,网站身份验证采用域服务器方式,把财务机加到域中,用组策略进行管理 --------------------编程问答--------------------
引用 21 楼 chen_ya_ping 的回复:
找一个能够得到真实IP地址的免费的webservice,然后建立以个IP表进行不可以访问的Ip地址,然后判断,要是害怕读取数据库次数多,可以将数据缓存,以便提高性能。


这样会影响访问速度。
最好的办法是在服务器端有数据库的检索。

纯真的IP数据库,可否能分清各省份的IP呢,比如移动,电信,网通,铁通等几大运营商的IP。??
等待有经验的人再指点一二,

谢谢以上建议的,关注的,祝大家新年愉快。。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,