上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
故事四:IT青年VS禅师
老禅师在微博上一直很忙,忙着给有志理科青年指导人生,其中有下面这么一段。
理科青年问禅师:“大师,我很爱我的女朋友,她也有很多优点,但是总有几个缺点让我非常讨厌,有什么方法能让她改变?”
禅师浅笑,答:“方法很简单,不过若想我教你,你需先下山为我找一张只有正面没有背面的纸回来。”
理科青年略一沉吟,掏出一个莫比乌斯带。
【注】莫比乌斯带,是一种拓扑学结构,它只有一个面(表面),和一个边界。
鉴于理科青年的一句话毁掉了许多小清新,于是老禅师在自己的门外挂了一个牌子,上面写着“理科青年不得入内”。
话说有一天,一个搞IT的工科青年进来拜见老禅师。
IT青年问禅师:“大师,7年前我开始写Java程序,现在我开始写手机程序,明年老板说我们的应用要搬到SaaS平台,出来一样新东西就要学习一样新东西,我感觉做IT真的是太累了,你说咋办好?”
禅师浅笑,答:“笑着面对,不去埋怨。悠然,随心,不变应万变。你能找到内部构造改变了而外表却丝毫不变的东西吗?”
青年略一沉吟,用ESAPI(Java)写下了下面的代码:
System.out.println(ESAPI.encoder(). encodeForHTML("<script>alert(123)</ script>"));
【注】上面的程序输入是"<script>alert(123)</script>",输出是"<script>alert( 123)</script>",虽然不一样,但在HTML页面上显示的却是同一内容。
这个故事告诉我们——我们用ESAPI进行输出编码,除却了峥嵘,用户体验却丝毫未变。
接下来的时间里,就让我们畅游编写安全代码需要知晓的OWASP Top 10和ESAPI这个应用安全的世界吧。