`
wuhua
  • 浏览: 2120483 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

关于网站设计的一点点讨论

阅读更多
最近公司自己运营一个网站。而这个网站的主要设计者是我。而我也部分参与需求的调用,分析与确立。在这方面我经验很少,设计的过程中不仅是我个人在理念上出了问题,重要的是不断的跟team成员发生争论,导致心情也不爽,不过在这过程中也学到不少,长大了一点。这次讨论,我们不谈项目管理,不谈沟通,不谈需求,只谈,怎么样才可以设计一个好网站。

首先明确了需要,这个我想是设计好一个项目的关键。
比如我们假像需求是这样子的,我们再来谈谈,面对这样的需求,我们该怎么做。
需求如下:
1。会员问题,--- 要求网站的一些功能只提供给会员操作, 比如当用户浏览一个URL的时候,是需要会员权限的,这样就产生了下面的需求,1。要求有自动跳转功能,不管是用户登录了,或者是注册一个新用户,这些操作完成后都需要跳转到前一次的操作。甚至是跟前面的操作。这个功能到是容易实现,只需要记录用户前面几次操作的url,把他们入栈就ok了,然后登录或者注册以后就出栈
2。资源保存问题, ----  比如项目组,要求,用户上传,或者是后台上传的资源,必须保证其他项目安全的,容易操作的访问到。
比如,管理人员在后台上传了一个图片。这个图片对于web来说可以访问,对于wap来说,访问起来也是很轻松的-- 不用在资源的路径加上网站的路径名。还有其他的等等。
3。数据库的设计, --- 自己运营的网站,对于数据库的安全性来说无疑是最高的。 我们现在采用的是mysql,现在用的是tomcat+spring+hibernate,这样就会遇到一个困难,比如设计金钱的数据,如果纯粹的保存到mysql,这样别人侵入到你web服务器的时候就可以获取你spring配置文件里面的数据密码等,这样会造成数据泄露,导致重大损失,这样导致了就是管理这些数据的安全性变的很重要,不应该直接暴露这些数据给程序,而是应该通过一些手段,比如只暴露存储过程,或者是暴露一些数据访问api给程序调用,这做虽然安全,但设计起来却是比较棘手。而且设计管理那些数据的程序变的复杂,不能直接在tomcat访问。

4。就是相对而已,当你的程序稳定以后,我们就不应该再往这个项目加上新功能,而是另外起一个项目,总之就是乱啊。


写到这里,都不知道自己在写些什么了。哈

写这篇文章的时候,记录在blog上出了问题,后来那篇blog被我删除了,想不到在这里可以找到。真是不错,同时放到论坛跟blog好像是双保险
分享到:
评论
25 楼 wuhua 2007-05-19  
galaxystar 写道
现在的互联网应用,安全已经起到主导地位!

这个当然了。
小的时候,每人理你,网站大了,什么人都想找你的茬。
24 楼 wuhua 2007-05-19  
Sam1860 写道
引用
我回的贴的前提也是在黑客已经入侵到服务器这个情况作为前提:就是即使入侵到服务器,也让它得不到数据库密码,因为密码已经加密,密钥在项目中(可能是任何一个文件,成千上w个,让他找吧),这样他即使入侵服务器也不能得到数据库密码


汗。。。有这样的前提还用讨论吗。别人要是有这样的技术干嘛要入侵应用服务器,入侵数据服务器就OK了


别外楼主说的什么存储过程加强安全性,头一次听

所谓的存储过程安全性质,也是我老板说的。
他的意思就是:
假设你把数据库放在外网,你对数据进行了密码保护,别人需要得到您的密码,
如果别人入侵了你的web服务器,就可以通过hibernate获取你的username 和password,这样就可以入侵你的数据库
如果我的用户名跟密码不是通过hibernate来登录的,相当于另外建立一个数据库,而这个数据库并不让hibernate来访问,我们要获取数据,只需要调用存储过程这个暴露给程序来访问,这样就相当安全,
这是我的理解。
23 楼 wuhua 2007-05-19  
clamp 写道
果然是技术性论坛阿,讨论讨论就深入到技术了,这是产品开发的大忌.

产品开发时,一个阶段性版本具体包括那些国内特性,大家可以讨论,但是决定权只能有一个人来做.这不是好或坏的问题,而是效率问题.

产品作的不好固然有问题,但是做的慢了一定会死.



同意您的意见,就想我的boss说的,交付一个可以使用的系统,比交付一个充满未知bug,但看起来却很炫耀的东西根本就是本质的区别。
他宁愿使用只有一个功能,但这个功能却是很稳定,而不愿意使用100个功能,但这些功能随意都可以致命一击。
哈哈哈
22 楼 wuhua 2007-05-19  
ahuaxuan 写道
wuhua 写道
ahuaxuan 写道
lighter 写道
wuhua 写道
关键的问题,是mysql在安全性方面比orcale是差的太远。
比如我现在用的是mysql4.1,本就没有存储过程,
如果有存储过程的,话,我可以把,相对重要的数据用存储过程封装起来,然后对那个数据进行密码保护,这样的密码就不是放在hibernate下面,因此就算网站被侵入,别人还是无法访问到我的数据的,
当然,这部分系统完全可以采用orcale来做,然后提供一个远程程序来访问,这样也相对安全
当然现在的系统说绝对安全是没办法做到的。只能多考虑,但考虑了也未必会去实现,因为要看成本跟其他因素来考虑。
总之麻烦。

采用Oracle,成本考虑的因素呢,不低的哦
ps:我同意上面fins所说的意见

mysql5.0不是也支持存储过程吗,如果只是为了存储过程而引入oracle这个出发点似乎不是很正确

同意fins的意见
我用的是mysql4.1,
而且mysql5.0的存储过程不知道稳定否?

没用过,我现在都搞不清在谈论什么了,前提是什么,手套兄前面所说的是在黑客已经入侵到服务器这个情况作为前提,当然入侵到服务器之前肯定可以做其他的保护措施(这个是fins提的那些)
我回的贴的前提也是在黑客已经入侵到服务器这个情况作为前提:就是即使入侵到服务器,也让它得不到数据库密码,因为密码已经加密,密钥在项目中(可能是任何一个文件,成千上w个,让他找吧),这样他即使入侵服务器也不能得到数据库密码

而且入侵到服务器之前什么硬件防火墙等等之类是网管做的,我们关心的是在程序员这个角度如何去保护我们的应用

同意您的意见,作为程序员,我们只是尽可能的采用我们现有的知识来保证我们程序的安全性,
不过像我们这种小公司,现在来说还不存在网管,所以网管很大部分的工作我们都得负责,如果对于那些数据相关不是很重要的来说,我做一般的保护措施就ok了,
但个人感觉,我现在有些数据像银行那些数据那么重要,可是我们却没有银行那些保护系统,所以也不知道该怎么做才可以最大限度的保证数据的安全性。
我的意思是我没有做过银行那些系统,不知道到底怎么样才安全。
21 楼 clamp 2007-05-19  
果然是技术性论坛阿,讨论讨论就深入到技术了,这是产品开发的大忌.

产品开发时,一个阶段性版本具体包括那些国内特性,大家可以讨论,但是决定权只能有一个人来做.这不是好或坏的问题,而是效率问题.

产品作的不好固然有问题,但是做的慢了一定会死.


20 楼 Sam1860 2007-05-18  
ahuaxuan 写道
晕,按照你的说法那人家jboss还保护数据库密码个什么劲啊,炫耀技术吗


呵呵,有这个可能性,很多东西都有人做,但不一定都实用。最起码JBOSS加密过的数据源密码,别人可以在JBOSS的源码里找到破解算法。(根据你那些假设,估计入侵者有大把时间在服务器上漫游)

配置文件根本不应该成为安全问题的关注点。加强防火墙和数据库本身的安全性才是正道。如前面有人说的把该用户的访问限定在局域网内
19 楼 galaxystar 2007-05-18  
现在的互联网应用,安全已经起到主导地位!
18 楼 ahuaxuan 2007-05-18  
Sam1860 写道
引用
我回的贴的前提也是在黑客已经入侵到服务器这个情况作为前提:就是即使入侵到服务器,也让它得不到数据库密码,因为密码已经加密,密钥在项目中(可能是任何一个文件,成千上w个,让他找吧),这样他即使入侵服务器也不能得到数据库密码


汗。。。有这样的前提还用讨论吗。别人要是有这样的技术干嘛要入侵应用服务器,入侵数据服务器就OK了


别外楼主说的什么存储过程加强安全性,头一次听

晕,按照你的说法那人家jboss还保护数据库密码个什么劲啊,炫耀技术吗
17 楼 Sam1860 2007-05-18  
引用
我回的贴的前提也是在黑客已经入侵到服务器这个情况作为前提:就是即使入侵到服务器,也让它得不到数据库密码,因为密码已经加密,密钥在项目中(可能是任何一个文件,成千上w个,让他找吧),这样他即使入侵服务器也不能得到数据库密码


汗。。。有这样的前提还用讨论吗。别人要是有这样的技术干嘛要入侵应用服务器,入侵数据服务器就OK了


别外楼主说的什么存储过程加强安全性,头一次听
16 楼 ahuaxuan 2007-05-18  
wuhua 写道
ahuaxuan 写道
lighter 写道
wuhua 写道
关键的问题,是mysql在安全性方面比orcale是差的太远。
比如我现在用的是mysql4.1,本就没有存储过程,
如果有存储过程的,话,我可以把,相对重要的数据用存储过程封装起来,然后对那个数据进行密码保护,这样的密码就不是放在hibernate下面,因此就算网站被侵入,别人还是无法访问到我的数据的,
当然,这部分系统完全可以采用orcale来做,然后提供一个远程程序来访问,这样也相对安全
当然现在的系统说绝对安全是没办法做到的。只能多考虑,但考虑了也未必会去实现,因为要看成本跟其他因素来考虑。
总之麻烦。

采用Oracle,成本考虑的因素呢,不低的哦
ps:我同意上面fins所说的意见

mysql5.0不是也支持存储过程吗,如果只是为了存储过程而引入oracle这个出发点似乎不是很正确

同意fins的意见
我用的是mysql4.1,
而且mysql5.0的存储过程不知道稳定否?

没用过,我现在都搞不清在谈论什么了,前提是什么,手套兄前面所说的是在黑客已经入侵到服务器这个情况作为前提,当然入侵到服务器之前肯定可以做其他的保护措施(这个是fins提的那些)
我回的贴的前提也是在黑客已经入侵到服务器这个情况作为前提:就是即使入侵到服务器,也让它得不到数据库密码,因为密码已经加密,密钥在项目中(可能是任何一个文件,成千上w个,让他找吧),这样他即使入侵服务器也不能得到数据库密码

而且入侵到服务器之前什么硬件防火墙等等之类是网管做的,我们关心的是在程序员这个角度如何去保护我们的应用
15 楼 wuhua 2007-05-18  
ahuaxuan 写道
lighter 写道
wuhua 写道
关键的问题,是mysql在安全性方面比orcale是差的太远。
比如我现在用的是mysql4.1,本就没有存储过程,
如果有存储过程的,话,我可以把,相对重要的数据用存储过程封装起来,然后对那个数据进行密码保护,这样的密码就不是放在hibernate下面,因此就算网站被侵入,别人还是无法访问到我的数据的,
当然,这部分系统完全可以采用orcale来做,然后提供一个远程程序来访问,这样也相对安全
当然现在的系统说绝对安全是没办法做到的。只能多考虑,但考虑了也未必会去实现,因为要看成本跟其他因素来考虑。
总之麻烦。

采用Oracle,成本考虑的因素呢,不低的哦
ps:我同意上面fins所说的意见

mysql5.0不是也支持存储过程吗,如果只是为了存储过程而引入oracle这个出发点似乎不是很正确

同意fins的意见
我用的是mysql4.1,
而且mysql5.0的存储过程不知道稳定否?
14 楼 ahuaxuan 2007-05-18  
lighter 写道
wuhua 写道
关键的问题,是mysql在安全性方面比orcale是差的太远。
比如我现在用的是mysql4.1,本就没有存储过程,
如果有存储过程的,话,我可以把,相对重要的数据用存储过程封装起来,然后对那个数据进行密码保护,这样的密码就不是放在hibernate下面,因此就算网站被侵入,别人还是无法访问到我的数据的,
当然,这部分系统完全可以采用orcale来做,然后提供一个远程程序来访问,这样也相对安全
当然现在的系统说绝对安全是没办法做到的。只能多考虑,但考虑了也未必会去实现,因为要看成本跟其他因素来考虑。
总之麻烦。

采用Oracle,成本考虑的因素呢,不低的哦
ps:我同意上面fins所说的意见

mysql5.0不是也支持存储过程吗,如果只是为了存储过程而引入oracle这个出发点似乎不是很正确
13 楼 cqyaoran 2007-05-17  
我也觉得,楼主考虑的太过了,在网络上只要相对的安全,没有绝对的
12 楼 lighter 2007-05-17  
wuhua 写道
关键的问题,是mysql在安全性方面比orcale是差的太远。
比如我现在用的是mysql4.1,本就没有存储过程,
如果有存储过程的,话,我可以把,相对重要的数据用存储过程封装起来,然后对那个数据进行密码保护,这样的密码就不是放在hibernate下面,因此就算网站被侵入,别人还是无法访问到我的数据的,
当然,这部分系统完全可以采用orcale来做,然后提供一个远程程序来访问,这样也相对安全
当然现在的系统说绝对安全是没办法做到的。只能多考虑,但考虑了也未必会去实现,因为要看成本跟其他因素来考虑。
总之麻烦。

采用Oracle,成本考虑的因素呢,不低的哦
ps:我同意上面fins所说的意见
11 楼 ddandyy 2007-05-17  
同意上面几位的看法
在数据库这讨论安全性就有点过了
人家都侵入到这里了  再做什么都没用了

如果真想保密 把数据库放在内网就完事了
10 楼 fins 2007-05-17  
我以为重要性:
硬件级别保护(防火墙之类)> 操作系统级保护 > 数据库低层保护(如楼上所说) > 数据库上层保护 > 应用层(java/php)保护
9 楼 pppppp 2007-05-17  
mysql数据库你只需要绑定内网IP,外网怎么可能攻击到数据库呢
8 楼 ahuaxuan 2007-05-17  
wuhua 写道
qqeerr20012001 写道
密码加密一下再存储

这样做也只是相对安全。如果别人知道你的加密方法还是可以破解的

如果就算别人知道加密算法要破解也是不太可能的,这取决于加密算法,这一点不用担心,主要担心的地方是密钥的保存,如果别人知道了密钥和加密算法,那密文肯定可以被破解,在web应用中我能想到的方法是混淆加密过程,让别人不知道密钥的在项目中的位置,这样别人就不知道是使用了什么加密算法,也不知道密钥在什么地方,要破解密文几乎是不可能的了,如果还能破解就说明这个黑客相当相当的专业了
7 楼 wuhua 2007-05-17  
关键的问题,是mysql在安全性方面比orcale是差的太远。
比如我现在用的是mysql4.1,本就没有存储过程,
如果有存储过程的,话,我可以把,相对重要的数据用存储过程封装起来,然后对那个数据进行密码保护,这样的密码就不是放在hibernate下面,因此就算网站被侵入,别人还是无法访问到我的数据的,
当然,这部分系统完全可以采用orcale来做,然后提供一个远程程序来访问,这样也相对安全
当然现在的系统说绝对安全是没办法做到的。只能多考虑,但考虑了也未必会去实现,因为要看成本跟其他因素来考虑。
总之麻烦。
6 楼 icefire 2007-05-17  
既然打开门,当然就只有相当安全。
加密总比不加密好!

相关推荐

    关于网站功能描述.doc

    综上所述,这款网站通过一系列精心设计的功能,构建了一个综合性的网络社区,满足了用户在信息共享、社交互动和个性化展示方面的需求。从用户注册登录到个人资料管理,再到社交互动等,每个环节都旨在提供一个安全、...

    项目教学法在动态网站建设的应用.doc

    项目教学法是一种教育策略,它强调通过实践性的项目来教授动态网站建设的相关知识,让学生在解决实际问题的过程中学习和掌握技术。在动态网站建设中,项目教学法有以下几个关键点: 1. **创设问题情境**: 教学...

    毕业设计:ASP《软件工程》精品课程教学网站的设计与实现(源代码)

    从研究的结果来看,我国网络教学平台及网站建设已经进入了一个新的发展阶段, 这个计算机组成原理教学网站的建成将提高学生的学习主动性,提高课程信息传达的及时性,实现课程多种资源的展示与交流,成为教师与学生...

    ASPNET的商品交易的网站设计及体现.doc

    综上所述,ASP.NET商品交易网站设计着重于用户交互体验、功能完善和后台管理效率,通过选用合适的开发工具和技术,实现了一个高效、安全、易用的在线交易平台。这样的网站不仅能满足用户的基本购物需求,还能促进...

    DZ2.5点点最新模板

    综上所述,“DZ2.5点点最新模板GBK.zip”是一个全面的论坛美化解决方案,结合GBK编码和点点网的设计风格,为Discuz! 2.5论坛带来了新的生命力。通过正确安装和配置,管理员可以打造出一个既美观又实用的在线社区,...

    毕业设计:ASP专业销售手机商业网站(源代码)

    这样才能很好建设一个好的网站。当然一般情况下是客户提出要求,我们来完成,所以对于网站的目的与定位一般是由客户给出的。这样我们还要为客户着想. 在没有手机销售网站时客户只在电视广告了解手机的行情,而且了解...

    毕业设计:基于ASP的旅游网站的设计与实现(源代码)

    旅游网站的用例分析主要是找出系统中所有的用例,因此要和旅游资源及线路管理系统的潜在用户进行讨论。 旅游资源及线路管理系统的用例包括: 管理员管理部分,对网站的总体资料进行更新和管理。 用户在该网站...

    C语言学习资源网站源代码

    系统充分利用web的优势使浏览者在任何地方、任何一台一个接入Internet的计算机方便的学习、交流、讨论关于C语言程序设计方面的知识。系统集成图片、视频等多媒体技术图文并茂的将丰富的C语言资源展示给浏览者,您...

    网站开发小图片集合

    本资源“网站开发小图片集合”显然是一个包含多种用途的小型图像资源库,专为网页设计者和开发者提供。下面将详细讨论这些小图片在网站开发中的应用及其重要性。 首先,小图片在UI设计中的作用不可忽视。它们通常...

    网站项目商业计划书样本.docx

    - **项目描述**:点点拼网站项目旨在创建一个基于服务的生活类平台,区别于传统信息提供型网站,用户可以在该平台上参与各类活动,享受互动和互助的服务。 - **目标市场**:面向所有互联网用户,特别是那些寻求...

    毕业设计:ASP网络教学平台设计与实现(源代码)

    开设电子公告板BBS,组织热点讨论,引导学生进行网上交流,引导学生对有关问题进行思考判断,进而引导学生主动参与学校的网站建设,使网络成为教学的另一个战场。有些教学网站还会提供网上测试或者说网上考试的功能...

    毕业设计:ASP百瑞通公司网站(源代码)

    (1)百瑞通公司网站:百瑞通公司网站系统主要是信息的发布与管理,涉及到前台用户对新闻信息的浏览和后台新闻的管理两大模块。前台页面一般不需要用户登录注册,也就是对所有用户均开放,不做权限验证,在前台为了...

    phpcms_v9.1.13_UTF8.zip

    phpcms_v9.1.13_UTF8.zip是一个包含了phpcms V9.1.13版本的完整源码包,专为UTF-8编码环境设计。这个压缩包是网站开发人员和管理员构建内容管理系统(CMS)的重要工具,尤其适用于那些需要处理多语言内容的网站。在...

    毕业设计:论坛的设计与实现(源代码)

    论坛是一个通过国际互联信息网络进行发布信息和实现多人通讯的一个系统。...本论坛设计方案主要是利用局域网原理,在企业网络服务器上搭建一个网站,建立网页论坛平台,浏览者可通过网络,在自己的终端

    毕业设计:ASP奥运网站专题设计(源代码)

    本系统主要实现以下一些基本功能: (1)新闻发布:新闻...(2)BBS讨论区:BBS又称电子公告板,不仅可以用在日常交流中,而且在远程教育、远程医疗中也起到了很大的作用。BBS的形式丰富、方便。给大家构建了一个完美

    2021设计师年终个人工作总结5篇.docx

    在过去的2021年,作为一名设计师,我有幸在这一年中不断学习和成长,现在,我想借此机会总结一下我的年终个人工作情况,以期为未来的职业道路奠定更坚实的基础。 首先,我对公司的认识有了更深层次的理解。在这一年...

    关于互联网产品经理有哪些经典书籍?.docx

    阅读《结网》,阅读一个资深产品经理关于互联网产品经理职业选择以及如何创建互联网产品的相关知识,同时在用户体验、产品优化、数据分析、产品运营、项目管理、竞争情报分析等有了一定的认识,《结网》跟《产品经理...

    高仿小米商城网页整套源代码.zip

    同时也有一点新颖的地方——bootstrap,首页用了一点点bootstrap框架,基本满足了同学应急WEB作业的所有需求;同时由于老师要求,也加上了极为详细的注释,一点一点手写出来的,实属不易,供大家互相学习讨论,对代码...

Global site tag (gtag.js) - Google Analytics