界: API Abuse

API 就像是呼叫者與被呼叫者之間簽訂的規定。最常見的 API 濫用形式是由呼叫者這一當事方未能遵守此規定所造成的。例如,如果程式在呼叫 chroot() 後無法呼叫 chdir(),即違反規範如何以安全方式變更使用中根目錄的規定。程式庫濫用的另一個好例子是期待被呼叫者向呼叫者傳回值得信賴的 DNS 資訊。在這種情況下,呼叫者是透過對其行為做出某些假設 (傳回值可用於驗證目的) 來濫用被呼叫者 API。另一方也可能違反呼叫者與被呼叫者間的規定。例如,如果編碼器衍生出子類別 SecureRandom 並傳回一個非隨機值,則違反了規定。

React Bad Practices: Dangerously Set InnerHTML

Abstract
dangerouslySetInnerHTML 從程式碼中設定 HTML 屬性是多餘的。
Explanation
React 中的 dangerouslySetInnerHTML 屬性可取代在瀏覽器 DOM 中使用 innerHTML,但 API 已重新命名以傳達使用它的潛在危險。通常,從程式碼設定 HTML 是有風險的,因為它很容易在無意中使您的使用者遭受 Cross-Site Scripting (XSS) 攻擊。
範例 1:以下程式碼從程式碼將 HTML 設為 dangerouslySetInnerHTML 屬性:

function MyComponent(data) {
return (
<div
dangerouslySetInnerHTML={{__html: data.innerHTML}}
/>
);
}
desc.structural.javascript.react_bad_practices_dangerously_set_innerhtml