Re: [討論] 為什麼SQL注入和XSS漏洞會這麼氾濫?
※ 引述《dp2046 (Kevin)》之銘言:
: 推 vencil: XSS本來就難防了 就連知名的框架也是不少見被挖出來 02/05 13:10
防 XSS 的重點在於要把 escape 搞懂:在不同的情境下要用不同的 escape
function,不是每個都拿同樣的 escape function。
搞懂就沒有很難防,大多數人只是沒有下功夫。
拿 PHP 來說好了,先假設要傳的 $data 是個不安全的字串,這些情境下要用哪些
escape function:
1. 在 html5 裡,某個 table 裡要呈現的資料:
<!doctype html>
<head>
<meta charset="utf-8"/>
</head>
<html>
...
<body>
<table>
<tr>
<td><?= $data ?></td>
</tr>
</table>
</body>
</html>
2. 在 html5 裡,某個 a link 裡的連結 (連結當然是個字串):
<!doctype html>
<head>
<meta charset="utf-8"/>
</head>
<html>
...
<body>
<a href="<?= $data ?>">link</a>
</body>
</html>
3. 在 html5 裡,某個 a link 裡的連結,裡面的 query string 變數:
<!doctype html>
<head>
<meta charset="utf-8"/>
</head>
<html>
...
<body>
<a href="https://example.com/api?foo=<?= $data ?>"</a>
</body>
</html>
然後這邊假設 $data 是個二維 array,裡面都是字串 (像是
[["a", "b"], ["c", "d"]] 這樣):
4. 在 html5 裡,inline js 的變數:
<!doctype html>
<head>
<meta charset="utf-8"/>
</head>
<html>
...
<body>
<button onclick="javascript:f(<?= $data ?>);">test</button>
</body>
</html>
5. 在 html5 裡,js block 的變數:
<!doctype html>
<head>
<meta charset="utf-8"/>
</head>
<html>
...
<body>
<script>
<!--
var data = <?= $data ?>;
//-->
</script>
</body>
</html>
橘子時間:
1. htmlspecialchars($data) 或是 htmlentities($data)。
2. htmlspecialchars($data) 或是 htmlentities($data)。
3. htmlspecialchars(urlencode($data)) 或是 urlencode($data)。
4. htmlspecialchars(json_encode($data))。
5. json_encode($data)。
附註一下,5. 這邊一定要是 html5 + <!-- 的情況下才能這樣用,原因跟我之前
在 stackoverflow 上問的問題有關:
https://bit.ly/39U38Wz
https://stackoverflow.com/questions/20942452/why-does-script-cause-a-dom-tree-break-on-the-browser
--
Resistance is futile.
https://blog.gslin.org/ & <[email protected]>
--
舉例過時了吧?php很少人這樣寫了
概念說類似的
M大可以介紹一下最新寫法嗎?
我
我想表達的是現在用php或其他語言塞資料比較少了,大多a
pi吐給js塞,如果有js範例會比較有幫助
同意前提,要搞懂 不要把一切責任都推給框架或別人
一樓正解 寫的好沒有注入的可能 當然如果業務沒有這
種疑慮是可以這樣寫
爆
[外絮] Ham解釋AD不練球:避免任何可能受傷行為Ham解釋AD不練球:避免任何可能受傷行為 Anthony Davis has gone from being the player Los Angeles Lakers fans were hoping would become the next main star for the franchise to being the biggest question mark heading into the next season. It didn't help when a video of him admitting that he hadn't touched a basketball in 2 months went viral earlier this month,83
[情報] 湖人無意與首席訓練師續約消息來源:(網址或出處) ESPN 內容: The Los Angeles Lakers are in the market to hire a new head athletic trainer46
[情報] 歐盟重罰meta13億美元1. 標題:Meta Fined $1.3 Billion Over Data Transfers to U.S. 2. 來源:華爾街日報 3. 網址: 4. 內文: Meta Fined $1.3 Billion Over Data Transfers to U.S.38
[爆卦] 關於IALS論文索引Zhu Ge Jing: 貴單位出版的 “Legal Research in the United Kingdom 1905-1984"這本索引可以證明 某人通過論文口試,獲得博士學位的嗎? Suzie Mereweather (Head of Data Protection and Information Compliance):23
[情報] AMD與Meta達成重大協議原文網址: 16 短網址:21
Re: [請益] 生涯發展 數據/資料工程師其實看到這篇真的感觸很深,這幾年DS變顯學但是再屌的DS後面都還是傳統的BI 只是現在為了要吸引人來應徵和跟上潮流大家都一定要講Data Science... 我現在剛好就在紐西蘭某一萬五千人的公家機關當DS Manager 但是我的部門其實是一個SAS平台從Data Warehouse到Visualisation和Analytics 不管前面的專案用甚麼資料模型,一大堆PhD(Permanent Head Damage)19
Re: [問題] metaverse怎麼翻譯比較好?剛好在其他地方也有寫討論文章,就直接搬過來 --- 我自己是不大喜歡元宇宙這個翻譯,但目前也想不到比較好的翻譯方式。 原因主要有兩個。 第一,容易和地質年代中的「元古宙」(Proterozoic)混淆。16
[請益] 如何有效益的維護data loader如題 目前做的project架構長這樣 Loader1 Loader2 Loader3 ........... Loader30 Area 1 Area 213
[請益] Database String Array Type各位大大好 小弟是一間小公司裡 負責部分核心業務的軟體工程師 為了日益多樣的客群,被安排要規劃新的設計 程式語言使用的是Java,資料庫是Postgres9
[問卦] CHA LA HEAD CHA LA !CHA LA HEAD CHA LA 聽過這句話的人都幾歲了 對了 CHA LA HEAD CHA LA 到底是什麼意思?