iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 19
3
自我挑戰組

後設鐵人:我從其他鐵人們身上學到的事系列 第 19

後設鐵人 Day19:柏林安安

話說 Box model 是什麼呢?直接從 spec 去講 box model,讚讚讚。

[Design Pattern] Adapter 配接器模式,突然覺得寫過 Android 會對一些 design pattern 滿熟悉的,例如說 adpater 就是,應該來個從 Android 開發學習 design pattern 的系列才對。

Day22【ES6 小筆記】變數提升(Hoisting)與暫時死區(TDZ),有提到我之前寫 hoisting 的那篇文章,讚讚讚。

我記得當初寫那篇的時候,就是想用一篇文章把 hoisting 相關的東西都理清楚,希望是有成功的。話說之前忘記從哪裡看到的,要看一篇論文的重要程度的話,就要看它在其他論文被引用的次數,文章感覺也可以同理,一篇文章如果被越多篇文章引用就代表寫得不錯,讚讚讚。

07. [JS] 瀏覽器 DOM 元素的事件代理是指什麼?講的是捕獲與冒泡,也是之前花點時間研究過的東西。我記得以前第一次聽到這名詞的時候嚇了一跳,想說:「靠邀,我當兩年工程師居然才知道有這個,好像有點丟臉」

Web Security 魔法使攻略─PHP 是世界上最好的語言,很久以前被那個 == 0 的特性搞過,當下超級驚訝。

Day22 - 前端與安全性裡面提到了 XSS,最近關於這種前端相關安全性問題多了很多利用 header 的語法,例如說 X-XSS-Protection,大家可以去研究一下知名網站的 header(例如說 facebook),就可以看到一大堆用法了。

話說裡面還有提到過濾的問題,我以前一直以為過濾這件事情要在後端做,在存進資料庫或是在回傳給 client 端之前就去做,例如說今天使用者留言一段:<script>alert(1)</script>,PHP 利用htmlspecialchars之後就被處理成:&lt;script&gt;alert(1)&lt;/script&gt;,這樣前端顯示出來的時候就不會被 XSS。

但我後來聽到一個說法十分合理,說這種 escape 其實要在前端做。

為什麼呢?因為你不能只有考慮到網頁啊!假設有天 Android 也要顯示這筆資料怎麼辦?他沒辦法顯示&lt;script&gt;alert(1)&lt;/script&gt;,看起來會很像亂碼。那難道 android 端要主動在轉回 html 符號嗎?這樣也很奇怪。

所以解法就是後端一律把前端收到的東西寫入資料庫,在前端顯示才做 escape,這樣就能保障顯示的資料就是使用者輸入的資料,才是正確的。


今天搭飛機到柏林,一到機場發現行李轉盤居然貼著牆壁,所以只有一邊可以等行李
而且剛好三班飛機擠在一起,人爆炸多,瞬間覺得這設計真的不行
然後因為是從歐洲飛來的飛機,所以不用過海關,直接拿完行李就可以出去了

到住宿 check in 之後,就去超市買些東西
這趟來歐洲我很多地方都住 service apartment,可以自己煮不用去外面吃
但也不是想省錢,只是懶惰...

隨手附上一張住宿處的中庭

https://ithelp.ithome.com.tw/upload/images/20190924/200913464cRN4da28K.jpg


上一篇
後設鐵人 Day18:呃...今天沒出門
下一篇
後設鐵人 Day20:真正的金色三麥
系列文
後設鐵人:我從其他鐵人們身上學到的事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
tsuifei
iT邦新手 4 級 ‧ 2019-09-24 05:57:52

住的地方很棒誒,離市區近嘛?求名~
我們也超愛柏林,柏林的空間感和巴黎非常不同,很直得隨處逛逛的城市,但是是巴黎的七倍大。

huli iT邦新手 3 級 ‧ 2019-09-24 15:27:40 檢舉

住這邊:Boarding House Metropol Park,,應該是在市區沒錯,我覺得滿不錯的

我要留言

立即登入留言