`
liujinmarshall
  • 浏览: 118157 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

开发web应用难于上青天,web开发十八难

阅读更多
系统越做越大,问题越来越多,有些彻底解决了,有些凑合解决了,有些还没有办法,现在把碰到的主要问题列出来,给大家前车之覆:

1  跨浏览器布局的问题: 由于浏览器之间的微小差距,在布局复杂的页面时将会碰到麻烦
   我现在的项目就要求firefox 和ie. 由于ie一些著名的bug,有时候不小心就踩到地雷。

2  日期控件
   如何实现跨浏览器的日期控件,如何设定缺省值,如何实现大范围的日期直接定位?如何自适应多区域格式问题?
 我也用过不少现成的东西,比如 http://www.mattkruse.com/javascript/calendarpopup/
  但都有或多或少的问题

3、分辨率
  如何支持常见分辨率,例如800*600 ,1024*768,1280*1024?表格和层如何自适应?
  有些客户喜欢居左居中,有些内容超宽,有些超宽内容还在容器里,有些还要叠加,把这些混在一起麻烦就来了

4、防止SQL注入式攻击
  参数使用占位符,这个算是基本解决了,只是有些担心数据库的效率。

5.防止脚本攻击。  有时候需要在页面允许部分html或javascript代码, 如显示多行文本。
  html 转义我知道,但我要允许部分html代码起作用,比如我要让<br>起作用,其他不起作用,以实现多行文本
6、用户非授权页面访问
  如何实现每个页面的安全验证,如何防止用户通过直接拷贝具体页面地址等方式,访问系统;  包括没有链接的某些页面和jsp 页面。 如何控制部分权限,最小控制单元是什么?

 看上去很简单,但一深思问题就来了,
每个页面的安全验证:动态页面一般是 URL + Query String
URL数量有限,但Query String一般以id为参数,有许多,所以如以URL为基础验证,则有时候
粒度不够细,如加上Query String,则不能再以配置表为基础校验,因为Query String乘以
用户数量(或角色数量,将是一个天文数字),所以如何建立安全验证规则表又是一个头疼的
问题,每个系统的安全验证规则都不一样。

再深入,你会发现如果一个操作被分成几个步骤,此时,这几个步骤的页面必须是相同的权限
设置,否则用户操作到一半,告诉他没有权限,他会被气死的。

如果再细化粒度,页面某些元素能够被部分用户修改和看见,你的头开始疼了吗?
7、重复提交问题
    功能操作完成后,鼠标右键点击所在页面,选择弹出菜单的刷新功能,容易出现重复提交问题。
    功能操作完成后,通过浏览器的后退键进行重复操作,容易出现重复提交问题。
   URL没有重定向,刷新页面出现重复提交问题。
   某功能键反应时间延迟时,在短时间内重复点击该功能键,容易出现重复提交问题;
   某些用户习惯双击按钮,某些用户错误地点了两次按钮,某些鼠标出现故障,导致单击变成双击,结果发生重复提交。

如果不加处理,这些请求都会被服务器处理,从而导致错误的结果。

struts的token确实能解决问题,但用户老是向我抱怨,为什么我不
能用浏览器的回退按钮重新提交,我在其他网站上从没有这个问题,你如何解释?
然后你还会发现部分操作是能够允许重复提交的。

8.如何锁定资源如记录:这是一个老大难问题了,为此还搞了不少东西出来。
用 关键词 隔离级别 脏 锁定 去搜搜,就会发现,要解决这个问题是有方法的,但代价
你愿意承担吗?开发代价,性能代价,可用性代价

9,如何防止浏览器记住数据,某些浏览器能够为每一个URL记住用户输入的数据,在某些情况下是危险的。比如我修改了某些数据,但由于某些原因我想刷新,此时数据已经被其他用户修改,但在浏览器里面你看到的是你修改的数据(你用刷新按钮也不能看到新数据)。如果你再次保存,你认为你没有修改数据,但数据已经被修改了。当页面是脚本动态生成的时候,这个问题更严重。

常发生在firefox等浏览器上。

10,如何防止或侦测客户修改浏览器设置,比如客户在打开页面之后关闭脚本功能。
有时候甚至不是用户禁止脚本,而是么某些软件和插件,病毒甚至企业文化影响到用户设置。

11,回退问题,对于工作流熟悉的人对这个问题很清楚,某个操作节点如何回到启动点,如何回到上一节点,如何避免硬编码? 比如一个页面被两个操作流所共享,此时安全验证是个问题,回退也许要仔细考虑。

12,校验问题,如何同时实现客户端和服务器端校验,客户端调用服务器端的校验功能。
我已经在使用struts自带的apache commons validator,可是我不得不修改许多地方才能
用起来。比如我有些隐藏字段需要校验。但commons validator居然使用focus语句,导致出错。
这是小的bug,但更麻烦的是部分服务器端的校验没有办法在客户端实现。比如validwhen
又如,某些校验需要查询数据库,所以我想要的校验应该是能够被ajax 调用,这样
校验在客户端和服务器端完全一样,但这样客户端校验还有必要吗,我们原来用客户端校验
是看中他的校验响应快,不给服务器加负担。所以我又迷茫了。

13,如何防止数据伪造,如何防止客户使用特殊工具和技术伪造数据提交到服务器。
浏览器发送的数据都是遵循公开的标准,嗅探器等黑客工具可以随便地修改你的数据,
还有一些神奇的浏览器插件可以任意修改数据。就算ssl也只能保障中间传输,客户端无法控制。你还认为你的隐藏字段是安全的吗?你还认为你的select只有那几个选项吗?

14, 如何追踪定位错误,如何处理异常?
   在一个运行的系统里,你如何知道哪个数据产生了这个错误?多个用户的日志绞缠在一起
 如何组织?
15,如何在两个操作之间传递大量数据,尤其是非存储数据。
比如分页数据(按什么列排序的第几页,过滤条件)一般是不存储到数据库的,但在某些时候必须传递到下一个页面,session 也不是最终解决方案。
16, 带安全控制的断点续传的上载 和下载
  甚至服务器端恐怕也要装点什么,这个可是许多企业的忌讳
17,分布式环境的特殊处理,
18,如何提高开发效率?


分享到:
评论

相关推荐

    噫吁嚱,危乎高哉!蜀道之难,难于上青天!

    在标签"vs"中,我们通常会联想到Visual Studio,这是一个由微软开发的强大集成开发环境(IDE),用于编写各种类型的软件,包括Windows应用、Web应用、移动应用等。Visual Studio提供了丰富的功能,如代码编辑器、...

    博客创收难于上青天 寻找突破方为良策.docx

    博客创收难于上青天 寻找突破方为良策.docx

    sdjd.rar_止盈

    其实锁单本人是不建议大家去操作的,严格设立止损或者及时获利了结即可,有言说道:锁单容易解单难,解单难,难于上青天!可见解单的难度与麻烦程度。如若操作不当小损失极有可能变成大损失。下面分别来讲一下锁损和...

    蜀道难练习题参考.doc

    如"蜀道之难,难于上青天"这一反复出现的句子,既突出了蜀道的艰险,也奠定了诗歌豪放的基调。 3. 修辞手法:例句"使人听此凋朱颜"中的"凋"字,是使动用法,表示"使...变色",体现出蜀道的险峻对人的心理影响。 4....

    蜀道难jb上课学习教案.pptx

    蜀道之难,难于上青天。”直抒胸臆,表达了蜀道的艰险程度。 - “蚕丛及鱼凫,开国何茫然!”追述蜀国开国的传说,增添了历史的厚重感。 - “地崩山摧壮士死,然后天梯石栈相钩连。”描绘了蜀道的建设之难,展现了...

    2019_2020学年高中语文第四单元古典诗歌215蜀道难课时作业含解析粤教版必修3

    2. 诗中运用了多种修辞手法,如夸张(如“难于上青天”)、对偶(如“上有六龙回日之高标,下有冲波逆折之回川”)、比喻(如“黄鹤之飞尚不得过,猿猱欲度愁攀援”)和反复(主旨句“蜀道之难,难于上青天”的重复...

    蜀道难优质课大赛获奖学习教案.pptx

    同时,讲解了文言句式,如“蜀道之难,难于上青天”,这里的“难于上青天”是介词结构后置的典型例子。 关于“蜀道之难,难于上青天”这一主题句的重复使用,教案分析了其在诗中不同位置的作用。在开头,它制造出...

    高一语文《深邃的人生感悟》测试[精选].doc

    2. 古代诗词默写:题目要求默写李白的《蜀道难》中的诗句,这涉及对古代诗词的记忆和理解,如“蜀道之难,难于上青天”、“风急天高猿啸哀,渚清沙白鸟飞回”等,这些都是李白诗词中的经典名句。 3. 文学常识:题目...

    大学语文课后练习答案秦;.docx

    6. 《蜀道难》的主旨句“蜀道之难难于上青天”反复咏叹,强调蜀道的高险和战争的残酷,语言特色是行文自由,句式多变,富有回旋之美。 7. 《蜀相》则体现了杜甫“沉郁顿挫”的风格,情感深厚而含蓄,通过对诸葛亮的...

    年高一语文下册第三次月考试卷.doc

    3. 句式结构:题目中提到了文言文中的特殊句式,如状语后置"蜀道之难,难于上青天",以及介宾短语作补语的"尝学琵琶于穆、曹二善才"。 4. 诗词应用:题目中涉及到诗词在不同情境下的适用性,如"云中谁寄锦书来"表达...

    2020年高中语文第4课蜀道难课时作业3含解析新人教版必修3

    4. **句式结构**:“嗟尔远道之人胡为乎来哉”是宾语前置句,与“蜀道之难,难于上青天”(状语后置句)和“不然,籍何以至此”(宾语前置句)等句式比较,显示了古汉语语法的特点。 5. **课文理解**:通过问题...

    2020年高中语文第4课蜀道难学案2新人教版必修3

    如“畏途巉岩不可攀”和“蜀道之难,难于上青天”,揭示了人生的艰辛和挑战。 6. **文化背景:**《蜀道难》反映了古代交通条件的艰难,同时也寓含了对社会现实的忧虑。如“剑阁峥嵘而崔嵬,一夫当关,万夫莫开”,...

    2020年高中语文第4课蜀道难课件6新人教版必修3

    2.李白在《蜀道难》中为何反复提及“蜀道之难,难于上青天”? 李白在诗中反复提及“蜀道之难,难于上青天”,不仅是为了强调蜀道的艰难程度,更是通过这种反复咏叹,强化主题,形成诗歌的结构韵律。每次提到这句...

    西师大版三年级语文上册全册单元测试卷(新).pdf

    9. 古诗词记忆:查漏补缺环节涉及古诗词填空,如“蜀道之难,难于上青天”,检验学生对古诗词的熟悉程度。 10. 词语分类:最后一部分涉及词语分类,如“浩浩荡荡、星星点点”等,训练学生的词汇归类和辨析能力。 ...

    08年浙江省地理会考试题含答案定义.pdf

    3. **地形对交通的影响**:“蜀道难,难于上青天”揭示了地形因素对交通线路选择的影响,是地理学中自然环境对人类活动制约的实例。 4. **可持续发展**:题目中“既满足当代人的需要,又不损害后代人的利益”的观点...

    蜀道难艺术特色.doc

    开篇以“蜀道之难,难于上青天”为引子,奠定了全诗雄浑激昂的基调。接着,李白运用丰富的历史传说和神话故事,如蚕丛、鱼凫、五丁开山,赋予蜀道深厚的文化底蕴,展现出蜀道开凿的艰难与神奇。 诗歌的第二层是主体...

    陕西省西安市第三十三中学2020学年高一语文下学期第一次月考试题(无答案).doc

    2. **古代诗词默写**:试题要求学生默写《蜀道难》等古诗词的部分内容,这是对中国古代文学的熟悉程度的检验,包括李白的名篇《蜀道难》中的名句,如“蜀道之难,难于上青天”、“剑阁峥嵘而崔嵬”等,这体现了高中...

    福建省龙海市第二中学2019_2020学年高一语文下学期4月月考试题

    7. 文言文句式与词汇:题目考察了文言文句式,如“蜀道之难,难于上青天”是典型的比较句式,同时测试了文言词汇的古今异义,如“颜色”、“老大”等。 8. 语文考试技巧:通过对这些试题的分析,可以看出高中语文...

Global site tag (gtag.js) - Google Analytics