`
j_butterfly
  • 浏览: 111950 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

做一个有责任心的程序员

阅读更多

  我是从做友财网开始我第一次做放到网外上的程序的,算是个菜鸟了。不过,从做这个网站中,我发现应该有不少的程序员会犯和我一样的错误,对安全性的乎略。

  我也不说什么大的概念了,举一个最简单的例子,一般来说B/S的程序,删除操作都会给后台传一个ID值。很多程序员,会把直接把这个ID对应数据库中的数据删除了,这可能是程序员偷了一个小懒,没有判断当前删除数据的这个人是否有权限删除。可是对于放在外网上的程序来说,这相当给别人在公网上留了一个很大的后门!可能很多人说我说的这个问题大家都知道,可是真正能做到细心判断业务逻辑后再删除的有多少人呢?我去年在北京一家公司上班,这公司主要是做博客和社区的(具体当然不会告诉你们了,嘿嘿),这个公司做的东西,最起码在我上班的那会,我说的这些后门还是留着的!知道了xxx.do之后,传一个ID就可以看一条数据,传一个ID就可以修改一条数据,甚至是删除!

  其实我说这些简单的问题,大家都心里知道,但可能项目进度紧,工作压力大,没有时间去做这块内容,想的以后有时间了再去做。可是真的有时间了,再回过头把这些逻辑再补上的又有多少人呢?当然Web应用程序的安全,不光我说的这么简单这一点,但想给大家说明,至少别把这么大的后门留给所有的网民吧,尤其是像我做的在线记帐的网站的,保护好每个人的隐私,更是我的责任,但国内在线记帐的网站也很多,我试了国内几家做的比较大的,刚说的问题有几家就是没有把最基本的安全性做到!也不知道是程序员水平太低还是责任心太差。。。

  这篇文章不是告诉大家怎么去删除别人网站的数据,是想告诉程序员把最基本的安全性做好,给使用者一个比较安全空间,放心的用软件,我也是我做友财网的原则。不过,有时把安全性做的太好,也会给用户代来不必要的麻烦。。。这个平衡点也要掌握好。。

  友财网是在线记帐的网站,安全性和保密性也是首先和着重考虑的因素,让我们做一个有责任的程序员!把别人的数据和隐私保护好!

  友财网http://www.ucai8.com   

7
6
分享到:
评论
22 楼 j_butterfly 2008-11-26  
wwwcom 写道

Acegi完全可以实现,它提供对数据的保护功能,只不过做起来比较麻烦罢了,一般只用用url拦截

嗯。是的。以前我用过,是很麻烦
21 楼 wwwcom 2008-09-11  
呵呵,我认识你的,顺便说一下,我每次访问你的网站的留言板,第一次都特别慢,有时候慢的不能忍受~~
20 楼 wwwcom 2008-09-11  
Acegi完全可以实现,它提供对数据的保护功能,只不过做起来比较麻烦罢了,一般只用用url拦截
19 楼 j_butterfly 2008-04-24  
引用
觉得很多公司都很浮躁,很多应该重视的东西都忽视了。

嗯。是啊~~现在这个公司的好多程序员,能把功能实现就很不错了,别说程序的质量了,连注释和缩进都没有。唉。。
18 楼 Absolutely 2008-04-22  
觉得很多公司都很浮躁,很多应该重视的东西都忽视了。
17 楼 j_butterfly 2008-04-21  
引用
友财网做的很不错,界面也漂亮,值得学习!

谢谢:)一起进步~
16 楼 for_cyan 2008-04-21  
友财网做的很不错,界面也漂亮,值得学习!
15 楼 bnmcvzx 2008-04-17  
没有在公司里做过,所以也没理由评价什么,不过我想这些应该是程序员的基本习惯吧
14 楼 j_butterfly 2008-04-17  
我想通过这篇文章给大家提个醒,我们写程序要对用户负责~~别让用户的信息轻易 的给别人看~~
13 楼 j_butterfly 2008-04-17  
引用
传值的时候取出当前用户的用户id 每个用户的id跟他的账务有外键关联关系
然后限制只可以操作跟此用户id有关系的账务就可以了这样效率也不会怎么降低的应该比过滤器的效率高

嗯~~我就是这样做的~~
12 楼 bnmcvzx 2008-04-17  
传值的时候取出当前用户的用户id 每个用户的id跟他的账务有外键关联关系
然后限制只可以操作跟此用户id有关系的账务就可以了这样效率也不会怎么降低的应该比过滤器的效率高
11 楼 hax 2008-04-17  
引用
每个人查看帐单的URL都一样,所有都有权限的。

既然url一样,那你怎么看其他人的账单?你的问题根本本身就有矛盾。

to Quake Wang:
你说的是对功能点权限的判断。通常是需要在代码里检查权限。但是也可以借鉴filter的思路,对其进行包装。比如假设功能点直接对应页面上的控件,则你可以直接让控件的基类直接支持权限判断,如果没权限就不显示。这样你无需显式的写权限检查代码了。
10 楼 j_butterfly 2008-04-16  
引用
当然可以用filter控制。filter的作用是两个:
1. 验证。比如看看session里有没有记录userId,没有的话就是没有登录过,拒绝。
2. 权限。根据userId找到其权限,如果该userId没有访问当前url(也可以包括其他条件)的权限,拒绝。

据我了解,Acegi一个是URL级别的,一个是方法级别的。这两个并不能解决我说的问题哦。每一个登陆后,Session中都有userID,但是你只能查看你的帐单,并不能查看别人的帐单 ,这是业务逻辑的判断,可以用Acegi来控件吗?每个人查看帐单的URL都一样,所有都有权限的。
9 楼 QuakeWang 2008-04-16  
filter和acegi也无法避免针对每个功能进行权限校验时候需要写类似的代码,和其他方式相比好处就是可以把这些代码集中到一处或者配置文件里面,但是如果新加一个功能,忘记了在这些集中控制的地方加上一行代码,这个功能点可能又会成为权限判断的死角。说到底还是需要测试来保障。
8 楼 hax 2008-04-16  
引用
但是像我说的,用户只能查看自己的帐单,你用filter能控制的住 吗?因为查看帐单的url都是一样的啊。


当然可以用filter控制。filter的作用是两个:
1. 验证。比如看看session里有没有记录userId,没有的话就是没有登录过,拒绝。
2. 权限。根据userId找到其权限,如果该userId没有访问当前url(也可以包括其他条件)的权限,拒绝。
7 楼 jiangshaolin 2008-04-15  
作为一名新手,我都根本没考虑这方面的.把功能实现出来就OK了
6 楼 j_butterfly 2008-04-15  
引用
一般采用filter来集中控制验证和权限

但是像我说的,用户只能查看自己的帐单,你用filter能控制的住 吗?因为查看帐单的url都是一样的啊。
5 楼 hax 2008-04-15  
一般采用filter来集中控制验证和权限。jguard和acegi都是如此。自己做也没有什么特别难的。
4 楼 魔力猫咪 2008-04-15  
Java其实是有安全框架的,就是大家很少用罢了。这方面的书也比较少。使用像acegi这样的安全框架就可以保护你的应用程序了。
3 楼 j_butterfly 2008-04-15  
业务逻辑的检验,还没有什么框架可以直接用吧?

相关推荐

    网络通用的程序员简历模板

    本人性格随和,责任心强,待人真诚,公私分明,有耐心,有自制力,学习认真,能刻苦耐劳,在工作中不断学习,分析自己的不足,不辞劳苦地向目标进发,下面是由出国留学网小编收集整理的“程序员个人简历范文”,欢迎...

    程序员求职简历模版

     热爱编程,性格开朗、语言表达能力强、责任心强、细致、耐心。具有一定的组织、管理和应变能力。与身边的人相处融洽,具有很强的集体荣誉感和团队合作精神。  通过4个多月的培训使我养成了良好的编程习惯,在...

    程序员简历模版.docx

    具备良好的团队协作能力和强烈的责任心。 教育背景: 北京理工大学 | 计算机科学与技术 | 本科 | 2014-2018 工作经验: 2018.7 - 至今 | ABC科技有限公司 | Java软件工程师 参与公司核心业务系统的开发工作,...

    程序员求职简历模板.pdf

    本人性格随和,责任心强,待人真诚,公私分明,有耐心,有自制力,学习认真,能刻苦耐劳,在工作中不断学习,分析自己的不足,不辞劳苦地向目标进发,下面是由出国留学网小编收集整理的“程序员个人简历范文”,欢迎...

    程序员开发工程师简历模板.docx

    本人工作认真细心、责任心强、为人正直、敢于坚持原则,自我学习能力强,有较强的学习能力和程序开发能力,工作积极主动,具备较强的责任感和解决复杂问题的能力,有良好的团队协作精神、良好的沟通能力和服务意识,...

    程序员面试自我介绍模板

    程序员面试自我介绍模板 各位尊敬的考官: 大家下午好! 我是xx工业工程职业技术学院0x届计算机网络专业应届毕业生。即将面临毕业,我渴望找到一份适合自己并...很强的事业心和责任感使我能够面对任何困难和挑战。

    程序员面试-自我介绍模板

    程序员面试的自我介绍模板 ...3、交际能力:我的性格沉稳,能坐得住,对IT行业的工作,具有非常好的`适应能力,而且为人谦和,具有很强的组织和协调能力 ,富有的事业心和责任感使我能够面对任何困难和挑战。

    程序员面试自我介绍模板3

    性格比较温和、谦虚、认真细致、踏实、吃苦耐劳、有较强的责任心和社会适应能力。即将于--年--月毕业于河南工业职业技术学院,作为一名软件专业的大学生,我更喜欢平面设计,在大学三年的学习生活中,我对平面这一...

    程序员面试自我介绍模板5

    我是--工业工程职业技术学院0-届计算机网络专业应届毕业生。即将面临毕业,我渴望找到一份适合自己并值得为其奉献一切的工作。 我有较好的计算机知识和应用能力,...很强的事业心和责任感使我能够面对任何困难和挑战。

    程序员面试的自我介绍模板7

    很强的事业心和责任感使我能够面对任何困难和挑战。 各位评委大家好,我是一名即将毕业的计算机系本科生。大学的四年,给我奠定了扎实的专业理论基础,良好的组织能力,团队协作精神,务实的工作作风还有良好的为人...

    程序员简历模板50套各式各样风格,让你随意挑选,world文档

    简历是一个敲门砖 简历是HR认识到你的第一个途径,HR会通过简历来辨别你的背景是否符合工作的需求,进而决定是否要给你打电话邀请你来面试。 所以简历的质量至关重要,不然你会连面试的机会都没有,更别提找到你...

    程序员标准简历模板前端Java测试个人简历运维后端工程师

    英文简历中自我评价-----珍藏版 Mature,dynamic and honest. 思想成熟、精明能干、为人诚实。 Excellent ability of systematical management. ...反应快、有进取心的应聘者。 Ambitious attitude essentia

    浅谈CC++内存泄漏及其检测工具

    浅谈C/C++内存泄漏及其检测工具2006-04-03 09:00 作者: 出处: 温馨小屋 责任编辑:>方舟 对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题。已经有许多技术被研究出来以应对这个问题,比如Smart...

    7前端面试二面 1:如何回答常见的软技能问题.md

    2. 责任心:对于自己做过的项目,能够出现 bug 之类主动解决 3. 持续学习能力:IT 行业是个需要不断充电的行业,尤其 Web 前端这些年一直在巨变,所以持续学习能力很重要 4. 团队合作能力:做项目不能个人英雄主义,...

    软件项目绩效管理.doc

    规范化项目管理成为所有小型软件公司必行之路,唯有如此才能激进和开发员工潜能,通过本案提出的积分制管理方案,可有效提升软件开发者工作效率及工作责任心,对拥有效率和责任心的程序员予以重点嘉奖及提高相应待遇...

    毕业设计电商网站源码-front-end-interview:总结前端的种种知识点

    首先应该是一个优秀的程序员 其次是努力使自己成为某一领域的技术专家 通过技术更好的服务于团队和业务 提高沟通能力,团队协作,发现问题,解决问题,总结问题能力 写写博客,输出就是最好的学习 提升个人前端的...

    马云点评创业.pdf

    071 不要贪多,做精做透很重要,碰到一个强大的对手或者榜样的时候,你应该做的不是去挑战它,而是去弥补它。 075 这世界上没有优秀的理念,只有脚踏实地的结果。 079 一个好的东西往往是说不清楚的,说得清楚的往往...

    毕业设计电商网站源码-front-end-interview-questions:史上最全最新前端开发面试题

    首先应该是一个优秀的程序员 其次是努力使自己成为某一领域的技术专家 通过技术更好的服务于团队和业务 提高沟通能力,团队协作,发现问题,解决问题,总结问题能力 写写博客,输出就是最好的学习 提升个人前端的...

    服务器工程师岗位主要职责.doc

    3、熟悉linu_、Redhat、windows20__、20__服务器操作系统 4、了解防火墙、路由器、交换机的基础支持,有相关的调试经验 5、具有优秀的沟通能力与逻辑分析能力,工作认真仔细,吃苦耐劳 6、有较强的责任心和事业心,...

    软件专业调研报告(2).doc

    10、吃苦耐劳、责任心强、做事积极主动、有团队合作精神;逻辑思维严谨、关注新技 术,有持续学习能力。 3)java实施运维工程师 职位描述: 1、在项目经理的领导下,配合项目工作; 2、负责信息系统的安装及日常...

Global site tag (gtag.js) - Google Analytics