分享
 
 
 

多用户系统如何绑定国际域名

王朝网站推广·作者佚名  2011-12-04
窄屏简体版  字體: |||超大  

多用户系统在网络上很常见,比如淘宝网或者携购网上的店铺就是最典型的多用户系统,每个店主都有一个自己二级域名的小店(如:http://shop88888888.xiegoo.com/),看上去大家都是各自独立的,但从技术曾面来看,其实每个店铺使用的都是同一套程序,唯一的差别就是店铺的界面和数据。

相信实现这样的二级域名指向不同店铺的功能,对大部分程序员来说不是件难事,因为shop后面的88888888里隐藏了店铺唯一的id,通过shop88888888把这个店铺的界面和数据从数据库里筛选出来是很简单的,我在这里也不详细解释。但是我们经常在网上看到很多“多用户商城”或者“建站系统”,支持绑定国际域名,比如携购旗下的独立网店系统http://www.shopxg.com/,只要在线注册,在线绑定国际域名,就能访问自己的网店了。笔者曾经参与开发shopxg,把如何实现这样的功能,拿出来与大家分享,当然可能不是最好最有效的方法,但希望能帮到那些正在为解决这个问题发愁的技术朋友。

因为shopxg是用.NET开发的,所以下面我讲到的情况可能不适合其他语言的系统,但原理是相通的,希望能给您一点启示。

第一步:设计数据库的时候,在“店铺shop”这张表里,要设置一个字段,存放国际域名;

第二步:在shopxg的站点上做泛解析,就是让任何指向到shopxg网站所在服务器的国际域名,都会绑定到shopxg上,至于如何做泛解析,您可以到google查下;

第三步:拿前台的index.aspx页面举例,当一个客户输入www.yifull.com/ShopLogin.aspx和www.tiaopidan.com/ShopLogin.aspx的时候,ShopLogin.aspx页面要马上获取到当前输入的域名,比如使用Request.ServerVariables["SERVER_NAME"].ToString();当然shopxg使用的是URLRewrite的重写技术来获取当前域名的,这样的方法有很多,您可以自己选择;

第四步:利用当前的域名,到数据库中精确匹配到某个店铺,然后把该店铺的数据取到前台显示;

当然上面的几步都是非常容易实现的,不是什么难题,但实现了一个多用户系统中每个店铺各自绑定国际域名之后,有很多小问题是不容忽视的:

1、每个页面频繁的获取当前域名,然后到数据库匹配,才知道是哪个店铺在请求数据,会导致系统效率低下,因此我们要让客户在第一次访问一个域名的时候,把获取回来的店铺编号放进本地cookies,当客户继续访问或者下次来访问的时候,直接从cookies里就能知道当前的域名对应的是哪个店铺了;

2、用户登陆问题:一般的网站都是使用cookies来存放我是否已经登陆某网站的信息的,对于多用户系统,如果用户登陆的时候,cookies没建好,很容易造成登陆一个网站,就相当于登陆该多用户系统上所有网站;假如可以随意登陆别人的网站后台,那后果将不堪设想;有时候甚至会造成我的定单里有别人的定单的情况,这都是cookies造成.因此我们在程序建cookies的时候,一定要区分域,在判断用户登陆的过程中,也要严格判断输入的域名和cookies中的域是否对应;

3、客户在绑定国际域名的时候,一定要判断客户的域名已经存在,并且已经指向了正确的ip,不然一经绑定,客户的网站就无法访问了;

//////获取域名指向的IP

public string GetIPByDomain(string url)

{

if (url.Trim() == string.Empty)

return "";

try

{

System.Net.IPHostEntry host = System.Net.Dns.GetHostByName(url);

return host.AddressList.GetValue(0).ToString();

}

catch (Exception e)

{

return "fail";

}

}

if(this.GetIPByDomain(this.tbDomian.Text)=="fail")

{

Response.Write(" ");

return;

}

if(this.GetIPByDomain(this.tbDomian.Text)!="202.91.243.151")

{

Response.Write(" ");

return;

}

4、在程序中任何查询的数据库的操作,必须提供店铺的id才能查询,这样才能避免有人发起恶意操作,把其他网店的信息查询出来.

当然,在实现多用户系统绑定国际域名的时候,会碰到很多其他问题,欢迎大家交流.我的E-mail : cxl@xiegoo.com

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有