您现在的位置: 无忧电子商务网 >> 信息学院 >> 程序开发 >> asp >> 正文

企业级N Tier体系结构解决方案讨论(二)

作者:佚名    信息学院来源:整理    点击数:    更新时间:2008-1-24 我要参与讨论

  斗鸡眼其实与常人没什么不同,只是看事物的方法不同罢了,是将视线和注意力放在事物的某一点罢了。"但我
们在项目的总体开发上却不能这样,要不然对项目的可行性分析和总体的考虑还有什么意义呢?前面我说的我的那几位同
学他们的后台数据库也多是SQL Server和Oracle。但他们并没有去发挥这些产品的特性。比如说他们在SQL Server上建立
了一个员工的信息数据库,其中有一个表(member_info)用于保存员工的信息。为了获得该表的数据他们在app Server端写
了如下的语句:
conn.ConnectionString="Driver={SQL Server};Server=sev1;uid=user_name;
                           pwd=password;database=member_database"
conn.open
rs.ActiveConnection=conn
strSQL="select member_ID,address,fri_name,lsr_name…… from member_info
            where……";
rs.open strSQL,conn,,,adCmdText
好了,目的是达到了,但重要的信息也都泄露了。用户名(user_name)、密码(password)、连接的数据库服务器(sev1)、
数据库名(member_database)、该数据库下的表名(member_info)、甚至该表的各个Column名都知道了,是的,asp是不允许
看到原代码的。但asp的漏洞大家都知道的。若它用了SSL还好,否则就是整裸体一个了。也许你会说:"我可以只给
user_name用户Grant一个最小的权限,那它就不能为所欲为了,是的,但一个Select权限总得有吧。若该表上有很多的敏
感信息,而你只想让用户看到部分的Column那怎么办呢?那你就一个Column一个Column的去赋予权限好了。但现在很多的
开发者对数据库的设计并不在行,有些又将开发的工作分给了不同的人做,那么在思想的统一上又出现了问题。所以根本
不会考虑很多的问题。我还见过有人在uid字段填个sa,在pwd字段填个""(NULL),哈,开发真的方便了,那我看你还是将
你的数据库设为"dbo use only "吧!·那我们用SQL Server和Oracle上都有的Stored Procedure来做呢?
Create Procedure usp_show_info
@memberID int
……
As
select member_ID,address,fri_name,lsr_name……
from member_info where……
我们仅给db_user一个Execute该Procedure的权限,那么它就只能执行该Procedure,对于表的权限它什么也没有。而且
Procedure是放在database端上的预

上一页  [1] [2] [3] 下一页

在google里搜索更多企业级N Tier体系结构解决方案讨论(二)

Google
Web www.51ec.org
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
我来说两句 对此文章发表了评论
  昵 称: *必填    ·注册用户·
  评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
评 论
内 容

 
评论列表 (最新 评论仅限网友观点!)

供求信息




| 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明