锁定老帖子 主题:关于网站设计的一点点讨论
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-05-17
首先明确了需要,这个我想是设计好一个项目的关键。 比如我们假像需求是这样子的,我们再来谈谈,面对这样的需求,我们该怎么做。 需求如下: 1。会员问题,--- 要求网站的一些功能只提供给会员操作, 比如当用户浏览一个URL的时候,是需要会员权限的,这样就产生了下面的需求,1。要求有自动跳转功能,不管是用户登录了,或者是注册一个新用户,这些操作完成后都需要跳转到前一次的操作。甚至是跟前面的操作。这个功能到是容易实现,只需要记录用户前面几次操作的url,把他们入栈就ok了,然后登录或者注册以后就出栈 2。资源保存问题, ---- 比如项目组,要求,用户上传,或者是后台上传的资源,必须保证其他项目安全的,容易操作的访问到。 比如,管理人员在后台上传了一个图片。这个图片对于web来说可以访问,对于wap来说,访问起来也是很轻松的-- 不用在资源的路径加上网站的路径名。还有其他的等等。 3。数据库的设计, --- 自己运营的网站,对于数据库的安全性来说无疑是最高的。 我们现在采用的是mysql,现在用的是tomcat+spring+hibernate,这样就会遇到一个困难,比如设计金钱的数据,如果纯粹的保存到mysql,这样别人侵入到你web服务器的时候就可以获取你spring配置文件里面的数据密码等,这样会造成数据泄露,导致重大损失,这样导致了就是管理这些数据的安全性变的很重要,不应该直接暴露这些数据给程序,而是应该通过一些手段,比如只暴露存储过程,或者是暴露一些数据访问api给程序调用,这做虽然安全,但设计起来却是比较棘手。而且设计管理那些数据的程序变的复杂,不能直接在tomcat访问。 4。就是相对而已,当你的程序稳定以后,我们就不应该再往这个项目加上新功能,而是另外起一个项目,总之就是乱啊。 写到这里,都不知道自己在写些什么了。哈 写这篇文章的时候,记录在blog上出了问题,后来那篇blog被我删除了,想不到在这里可以找到。真是不错,同时放到论坛跟blog好像是双保险 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-05-17
引用 最近公司自己运营一个网站。而这个网站的主要设计者是我。而我也部分参与需求的调用,分析与确立。在这方面我经验很少,设计的过程中不仅是我个人在理念上出了问题,重要的是不断的跟team成员发生争论,导致心情也不爽,不过在这过程中也学到不少,长大了一点。这次讨论,我们不谈项目管理,不谈沟通,不谈需求,只谈,怎么样才可以设计一个好网站。
最近看《贞观长歌》学习到一个道理 要做好一个领导 应该做到到不党不私 |
|
返回顶楼 | |
发表时间:2007-05-17
1. 如果别人获取了你的mysql密码,存储过程也没用吧。
2. Spring的明文密码,即使写到class里面,恐怕别人侵入了tomcat,也不能幸免。 3. 虽然没有绝对安全的系统,但你做到把系统已有的漏洞都考虑到就不错了。 4. 做网站,一般非常考虑网络级的安全,譬如DMZ区,tomcat服务器和mysql服务器不在同一服务器上,中间有防火墙。tomcat前台有apache,apache服务器所在的机器对外只开了一个80端口,servlet请求通过AJP协议转发到Tomcat,想入侵都没招。 我们现在这个超大项目(国家一个行业门户)就是这么做的,当然可能对你们不太实际,但我觉得,网站类项目安全,最重要的首先是网络物理架构。 |
|
返回顶楼 | |
发表时间:2007-05-17
密码加密一下再存储
|
|
返回顶楼 | |
发表时间:2007-05-17
qqeerr20012001 写道 密码加密一下再存储
这样做也只是相对安全。如果别人知道你的加密方法还是可以破解的 |
|
返回顶楼 | |
发表时间:2007-05-17
如果你的系统别人都可以入侵,那么程序级的安全又有何意义?开发环境不同于部署环境,即使开发环境下的数据库和产品环境下的数据库是同一数据库,如果你离开了公司,恐怕拿到密码也难以入侵。一般 hibernate对db的访问是内网方式,db只允许localhost方式访问,或有ip限制。
密码加密:如果别人拿到加密后的密码在侵入后的系统非法访问。如果这个密码可逆? |
|
返回顶楼 | |
发表时间:2007-05-17
既然打开门,当然就只有相当安全。
加密总比不加密好! |
|
返回顶楼 | |
发表时间:2007-05-17
关键的问题,是mysql在安全性方面比orcale是差的太远。
比如我现在用的是mysql4.1,本就没有存储过程, 如果有存储过程的,话,我可以把,相对重要的数据用存储过程封装起来,然后对那个数据进行密码保护,这样的密码就不是放在hibernate下面,因此就算网站被侵入,别人还是无法访问到我的数据的, 当然,这部分系统完全可以采用orcale来做,然后提供一个远程程序来访问,这样也相对安全 当然现在的系统说绝对安全是没办法做到的。只能多考虑,但考虑了也未必会去实现,因为要看成本跟其他因素来考虑。 总之麻烦。 |
|
返回顶楼 | |
发表时间:2007-05-17
wuhua 写道 qqeerr20012001 写道 密码加密一下再存储
这样做也只是相对安全。如果别人知道你的加密方法还是可以破解的 如果就算别人知道加密算法要破解也是不太可能的,这取决于加密算法,这一点不用担心,主要担心的地方是密钥的保存,如果别人知道了密钥和加密算法,那密文肯定可以被破解,在web应用中我能想到的方法是混淆加密过程,让别人不知道密钥的在项目中的位置,这样别人就不知道是使用了什么加密算法,也不知道密钥在什么地方,要破解密文几乎是不可能的了,如果还能破解就说明这个黑客相当相当的专业了 |
|
返回顶楼 | |
发表时间:2007-05-17
mysql数据库你只需要绑定内网IP,外网怎么可能攻击到数据库呢
|
|
返回顶楼 | |