Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions files/zh-tw/_redirects.txt
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@
/zh-TW/docs/JavaScript/Obsolete_Pages/Obsolete_Pages/Obsolete_Pages/預先定義的函數/isFinite_函數 /zh-TW/docs/Web/JavaScript/Guide/Functions
/zh-TW/docs/JavaScript/Obsolete_Pages/Obsolete_Pages/Obsolete_Pages/預先定義的函數/isNaN_函數 /zh-TW/docs/Web/JavaScript/Guide/Functions
/zh-TW/docs/JavaScript/Obsolete_Pages/Obsolete_Pages/Obsolete_Pages/預先定義的核心物件 /zh-TW/docs/Web/JavaScript/Guide
/zh-TW/docs/JavaScript/Same_origin_policy_for_JavaScript /zh-TW/docs/Web/Security/Same-origin_policy
/zh-TW/docs/JavaScript/Same_origin_policy_for_JavaScript /zh-TW/docs/Web/Security/Defenses/Same-origin_policy
/zh-TW/docs/JavaScript_technologies_overview /zh-TW/docs/Web/JavaScript/Reference/JavaScript_technologies_overview
/zh-TW/docs/JavaScript_technologies_overview-redirect-1 /zh-TW/docs/Web/JavaScript/Reference/JavaScript_technologies_overview
/zh-TW/docs/JavaScript_typed_arrays /zh-TW/docs/Web/JavaScript/Guide/Typed_arrays
Expand Down Expand Up @@ -465,7 +465,7 @@
/zh-TW/docs/SVG/Tutorial/填充与边框 /zh-TW/docs/Web/SVG/Tutorials/SVG_from_scratch/Fills_and_strokes
/zh-TW/docs/SVG/Tutorial/渐变 /zh-TW/docs/Web/SVG/Tutorials/SVG_from_scratch/Gradients
/zh-TW/docs/SVG/教學 /zh-TW/docs/Web/SVG/Tutorials/SVG_from_scratch
/zh-TW/docs/Security/MixedContent /zh-TW/docs/Web/Security/Mixed_content
/zh-TW/docs/Security/MixedContent /zh-TW/docs/Web/Security/Defenses/Mixed_content
/zh-TW/docs/Security/弱簽章演算法 /zh-TW/docs/Glossary/Hash_function
/zh-TW/docs/Security/缺少安全性的密碼 /zh-TW/docs/Web/Security/Authentication/Passwords
/zh-TW/docs/Tools https://firefox-source-docs.mozilla.org/devtools-user/index.html
Expand Down Expand Up @@ -970,7 +970,7 @@
/zh-TW/docs/Web/JavaScript/Obsolete_Pages/Obsolete_Pages/Obsolete_Pages/預先定義的核心物件 /zh-TW/docs/Web/JavaScript/Guide
/zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Array/@@iterator /zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Array/Symbol.iterator
/zh-TW/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment /zh-TW/docs/Web/JavaScript/Reference/Operators/Destructuring
/zh-TW/docs/Web/JavaScript/Same_origin_policy_for_JavaScript /zh-TW/docs/Web/Security/Same-origin_policy
/zh-TW/docs/Web/JavaScript/Same_origin_policy_for_JavaScript /zh-TW/docs/Web/Security/Defenses/Same-origin_policy
/zh-TW/docs/Web/JavaScript/Shells /zh-TW/docs/Web/JavaScript/Reference/JavaScript_technologies_overview
/zh-TW/docs/Web/JavaScript/Typed_arrays /zh-TW/docs/Web/JavaScript/Guide/Typed_arrays
/zh-TW/docs/Web/JavaScript/資料結構 /zh-TW/docs/Web/JavaScript/Guide/Data_structures
Expand Down Expand Up @@ -998,6 +998,8 @@
/zh-TW/docs/Web/SVG/Tutorial/渐变 /zh-TW/docs/Web/SVG/Tutorials/SVG_from_scratch/Gradients
/zh-TW/docs/Web/SVG/教學 /zh-TW/docs/Web/SVG/Tutorials/SVG_from_scratch
/zh-TW/docs/Web/Security/Insecure_passwords /zh-TW/docs/Web/Security/Authentication/Passwords
/zh-TW/docs/Web/Security/Mixed_content /zh-TW/docs/Web/Security/Defenses/Mixed_content
/zh-TW/docs/Web/Security/Same-origin_policy /zh-TW/docs/Web/Security/Defenses/Same-origin_policy
/zh-TW/docs/Web/Security/Weak_Signature_Algorithm /zh-TW/docs/Glossary/Hash_function
/zh-TW/docs/Web/Tutorials /zh-TW/docs/MDN/Tutorials
/zh-TW/docs/Web/URI/Authority/Choosing_between_www_and_non-www_URLs /zh-TW/docs/Web/URI/Guides/Choosing_between_www_and_non-www_URLs
Expand Down
4 changes: 2 additions & 2 deletions files/zh-tw/_wikihistory.json
Original file line number Diff line number Diff line change
Expand Up @@ -6012,7 +6012,7 @@
"jwhitlock"
]
},
"Web/Security/Mixed_content": {
"Web/Security/Defenses/Mixed_content": {
"modified": "2019-03-23T23:04:08.690Z",
"contributors": [
"jackblackevo",
Expand All @@ -6022,7 +6022,7 @@
"Asheesh"
]
},
"Web/Security/Same-origin_policy": {
"Web/Security/Defenses/Same-origin_policy": {
"modified": "2020-09-01T23:06:58.364Z",
"contributors": [
"JustBelieveMe",
Expand Down
2 changes: 1 addition & 1 deletion files/zh-tw/glossary/cors/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ slug: Glossary/CORS

**CORS**(跨來源資源共享)是瀏覽器技術規範,用來傳輸 [HTTP 標頭](/zh-TW/docs/Web/HTTP/Reference/Headers),判斷阻擋或允許不同來源網域的資源存取。

[同源安全政策(same-origin security policy)](/zh-TW/docs/Web/Security/Same-origin_policy),預設會禁止跨網域的資源請求。CORS 賦予網站伺服器跨網域存取控制能力,使其能安全地跨網域傳輸資料。
[同源安全政策(same-origin security policy)](/zh-TW/docs/Web/Security/Defenses/Same-origin_policy),預設會禁止跨網域的資源請求。CORS 賦予網站伺服器跨網域存取控制能力,使其能安全地跨網域傳輸資料。

## CORS 標頭

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ JavaScript 套用到你的 HTML 頁面的方式與 CSS 類似。CSS 使用 {{htm
}
```

4. 儲存並重新整理你的瀏覽器。你會發現點擊按鈕沒有任何效果,如果你檢查瀏覽器的主控台,你會看到類似 `Cross-origin request blocked` 的錯誤。這是因為像許多外部資源一樣,JavaScript 模組需要從與 HTML [同源](/zh-TW/docs/Web/Security/Same-origin_policy)的地方載入,而 `file://` URL 不符合資格。有兩種解決方案可以解決這個問題:
4. 儲存並重新整理你的瀏覽器。你會發現點擊按鈕沒有任何效果,如果你檢查瀏覽器的主控台,你會看到類似 `Cross-origin request blocked` 的錯誤。這是因為像許多外部資源一樣,JavaScript 模組需要從與 HTML [同源](/zh-TW/docs/Web/Security/Defenses/Same-origin_policy)的地方載入,而 `file://` URL 不符合資格。有兩種解決方案可以解決這個問題:
- 我們推薦的解決方案是[設定一個本地測試伺服器](/zh-TW/docs/Learn_web_development/Howto/Tools_and_setup/set_up_a_local_testing_server)。在伺服器程式執行並在 `8000` 埠提供 `apply-javascript-external.html` 和 `script.js` 檔案的情況下,打開你的瀏覽器並前往 `http://localhost:8000`。
- 如果你無法執行本地伺服器,你也可以使用 `<script defer src="script.js"></script>` 來代替 `<script type="module" src="script.js"></script>`。更多資訊請參見下文的[腳本載入策略](#腳本載入策略)。但請注意,我們在教學其他部分使用的功能可能無論如何都需要本地 HTTP 伺服器。
5. 現在網站的運作方式和以前完全一樣,但現在我們的 JavaScript 在一個外部檔案中。這在組織程式碼和使其可在多個 HTML 檔案中重複使用方面通常是件好事。此外,沒有大塊腳本塞在裡面,HTML 也更容易閱讀。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ l10n:

## 橫幅巨集加入的位置

橫幅使用巨集加入,且通常插入在頁面後設資料下方與側邊欄巨集並列。例如,在下方區塊中,`\{{SecureContext_Header}}` 巨集用來表示 {{domxref("AudioDecoder")}} 介面僅能在[安全上下文](/zh-TW/docs/Web/Security/Secure_Contexts)中使用、`\{{AvailableInWorkers}}` 巨集用來表示 {{domxref("AudioDecoder")}} 介面僅能在 [Window 上下文](/zh-TW/docs/Web/API/Window)與[專用 Worker 上下文](/zh-TW/docs/Web/API/DedicatedWorkerGlobalScope)中使用,而 `\{{SeeCompatTable}}` 則用來表示該介面為實驗性技術。
橫幅使用巨集加入,且通常插入在頁面後設資料下方與側邊欄巨集並列。例如,在下方區塊中,`\{{SecureContext_Header}}` 巨集用來表示 {{domxref("AudioDecoder")}} 介面僅能在[安全上下文](/zh-TW/docs/Web/Security/Defenses/Secure_Contexts)中使用、`\{{AvailableInWorkers}}` 巨集用來表示 {{domxref("AudioDecoder")}} 介面僅能在 [Window 上下文](/zh-TW/docs/Web/API/Window)與[專用 Worker 上下文](/zh-TW/docs/Web/API/DedicatedWorkerGlobalScope)中使用,而 `\{{SeeCompatTable}}` 則用來表示該介面為實驗性技術。

```md
---
Expand All @@ -32,7 +32,7 @@ browser-compat: api.AudioDecoder

必須手動加入下列巨集:

- `\{{SecureContext_Header}}`——這會產生一個**安全上下文**橫幅,表示該技術僅能在[安全上下文](/zh-TW/docs/Web/Security/Secure_Contexts)中使用。
- `\{{SecureContext_Header}}`——這會產生一個**安全上下文**橫幅,表示該技術僅能在[安全上下文](/zh-TW/docs/Web/Security/Defenses/Secure_Contexts)中使用。
- `\{{AvailableInWorkers}}`——這會產生一個**可在 Worker 使用**通知,表示該技術在 [Worker 上下文](/zh-TW/docs/Web/API/Web_Workers_API)中可用。

## 自動加入的橫幅
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ l10n:
>
> 你應根據以下建議更新或移除下列巨集:
>
> - `\{{SecureContext_Header}}`——此巨集會生成一個**安全上下文**橫幅,表示該技術僅在[安全上下文](/zh-TW/docs/Web/Security/Secure_Contexts)中可用。如果該技術非安全上下文專用,則可移除此巨集呼叫。如果是,則你還應在[受限於安全環境的功能](/zh-TW/docs/Web/Security/Secure_Contexts/features_restricted_to_secure_contexts)頁面中為其新增條目。
> - `\{{SecureContext_Header}}`——此巨集會生成一個**安全上下文**橫幅,表示該技術僅在[安全上下文](/zh-TW/docs/Web/Security/Defenses/Secure_Contexts)中可用。如果該技術非安全上下文專用,則可移除此巨集呼叫。如果是,則你還應在[受限於安全環境的功能](/zh-TW/docs/Web/Security/Defenses/Secure_Contexts/features_restricted_to_secure_contexts)頁面中為其新增條目。
> - `\{{AvailableInWorkers}}`——此巨集會生成一個 **Worker 可用**的註記,表示該技術在 [Worker 上下文](/zh-TW/docs/Web/API/Web_Workers_API)中可用。如果該技術僅在 window 上下文中可用,則可移除此巨集呼叫。如果該技術也或僅在 Worker 上下文中可用,則你可能需要傳遞參數以指明其可用性(請參閱 [\\{{AvailableInWorkers}} 巨集原始碼](https://github.com/mdn/rari/blob/main/crates/rari-doc/src/templ/templs/banners.rs)了解所有可用值),並可能需在 [Worker 中可用的 Web API](/zh-TW/docs/Web/API/Web_Workers_API/Functions_and_classes_available_to_workers#worker_中可用的_web_api) 頁面中為其新增條目。
> - `\{{APIRef("GroupDataName")}}`——此巨集會生成左側參考側邊欄,顯示與當前頁面相關的快速參考連結。例如,[WebVR API](/zh-TW/docs/Web/API/WebVR_API) 中的每個頁面都有相同的側邊欄,指向該 API 的其他頁面。若要為你的 API 生成正確的側邊欄,你需要在我們的 GitHub repo 中新增一個 `GroupData` 條目,並在巨集呼叫中以 _GroupDataName_ 替換該條目名稱。請參閱我們的 [API 參考側邊欄指南](/zh-TW/docs/MDN/Writing_guidelines/Howto/Write_an_api_reference/Sidebars)以獲取更多資訊。
> - 複製此頁面時,請記得移除 `\{{MDNSidebar}}` 巨集。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ l10n:
>
> 需要根據以下建議更新或刪除這些巨集:
>
> - `\{{SecureContext_Header}}`——這會產生一個**安全上下文**橫幅,指示該技術僅在[安全性上下文](/zh-TW/docs/Web/Security/Secure_Contexts)中可用。如果不是,則可以刪除巨集呼叫。如果是,則也應在[僅限安全性上下文的功能](/zh-TW/docs/Web/Security/Secure_Contexts/features_restricted_to_secure_contexts)頁面中填入該巨集所呼叫的條目。
> - `\{{SecureContext_Header}}`——這會產生一個**安全上下文**橫幅,指示該技術僅在[安全性上下文](/zh-TW/docs/Web/Security/Defenses/Secure_Contexts)中可用。如果不是,則可以刪除巨集呼叫。如果是,則也應在[僅限安全性上下文的功能](/zh-TW/docs/Web/Security/Defenses/Secure_Contexts/features_restricted_to_secure_contexts)頁面中填入該巨集所呼叫的條目。
> - `\{{AvailableInWorkers}}`——這會產生一個 **Worker 可用**註釋,表示該技術在 [Worker 上下文](/zh-TW/docs/Web/API/Web_Workers_API)中可用。如果它僅在 Window 上下文中可用,則可以刪除此巨集呼叫。如果它也可用或僅在 Worker 上下文中可用,那麼由於它的可用性,你可能還需要向其傳遞參數(有關所有可用值,請參閱 [\\{{AvailableInWorkers}} 巨集原始碼](https://github.com/mdn/rari/blob/main/crates/rari-doc/src/templ/templs/banners.rs)),你可能還需要在 [Worker 中可用的 Web API](/zh-TW/docs/Web/API/Web_Workers_API/Functions_and_classes_available_to_workers#worker_中可用的_web_api) 頁面中為其填入項目。
> - `\{{APIRef("GroupDataName")}}`——這將產生左側參考側邊欄,顯示與目前頁面相關的快速參考連結。例如,[WebVR API](/zh-TW/docs/Web/API/WebVR_API) 中的每個頁面都有相同的側邊欄,指向 API 中的其他頁面。若要為你的 API 產生正確的側邊欄,你需要在我們的 GitHub 倉庫中新增一個 GroupData 條目,並在巨集呼叫中包含該條目的名稱來取代 _GroupDataName_。有關如何操作的信息,請參閱我們的 [API 參考側邊欄](/zh-TW/docs/MDN/Writing_guidelines/Howto/Write_an_api_reference/Sidebars)指南。
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -515,7 +515,7 @@ function useDatabase(db) {

## 安全性

IndexedDB 遵守[同源政策](/zh-TW/docs/Web/Security/Same-origin_policy),所以它綁定創建它的來源網站,其他來源網站無法存取。就像對載入 {{ HTMLElement("frame") }} 和 {{ HTMLElement("iframe") }} 網頁的第三方 cookie 所設下的安全性和隱私權考量限制,IndexedDB 無法在載入 {{ HTMLElement("frame") }} 和 {{ HTMLElement("iframe") }} 網頁上運作,詳情請見 [Firefox bug 595307](https://bugzil.la/595307)。
IndexedDB 遵守[同源政策](/zh-TW/docs/Web/Security/Defenses/Same-origin_policy),所以它綁定創建它的來源網站,其他來源網站無法存取。就像對載入 {{ HTMLElement("frame") }} 和 {{ HTMLElement("iframe") }} 網頁的第三方 cookie 所設下的安全性和隱私權考量限制,IndexedDB 無法在載入 {{ HTMLElement("frame") }} 和 {{ HTMLElement("iframe") }} 網頁上運作,詳情請見 [Firefox bug 595307](https://bugzil.la/595307)。

## 瀏覽器關閉風險

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ myWorker.onmessage = function (e) {
拿到存在事件 data 中的計算值後,我們接著將值以 `textContent` 顯示出來。

> [!NOTE]
> 建構 `Worker` 的 URI 必須遵從[same-origin policy](/zh-TW/docs/Web/Security/Same-origin_policy)。目前各家瀏覽器在這方面存有歧異,Gecko 10.0 以後允許 data URI 而 Internet Explorer 10 不允許 Blob URI。
> 建構 `Worker` 的 URI 必須遵從[同源政策](/zh-TW/docs/Web/Security/Defenses/Same-origin_policy)。目前各家瀏覽器在這方面存有歧異,Gecko 10.0 以後允許 data URI 而 Internet Explorer 10 不允許 Blob URI。

> [!NOTE]
> 在主執行緒中存取 `onmessage` 與 `postMessage` 需要主動掛在 worker 物件上,在 worker 執行緒則不用,這是因為 worker 執行緒的全域物件便是 worker 物件。
Expand Down
2 changes: 1 addition & 1 deletion files/zh-tw/web/api/window/localstorage/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ l10n:

- `SecurityError`
- : 在以下情況之一會拋出:
- 同源不是[一個有效的協定/主機/埠元組](/zh-TW/docs/Web/Security/Same-origin_policy#同源定義)。舉例來說,如果同源使用 `file:` 或 `data:` 協定,就可能發生這種情況。
- 同源不是[一個有效的協定/主機/埠元組](/zh-TW/docs/Web/Security/Defenses/Same-origin_policy#同源定義)。舉例來說,如果同源使用 `file:` 或 `data:` 協定,就可能發生這種情況。
- 請求違反了政策決定。例如,使用者已將瀏覽器組態為防止頁面保存資料。

請注意,如果使用者封鎖了 Cookie,瀏覽器可能會將此解釋為防止頁面保存資料的指令。
Expand Down
4 changes: 2 additions & 2 deletions files/zh-tw/web/html/reference/elements/a/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ li {

> [!NOTE]
>
> - `download` 只適用於[同源 URL](/zh-TW/docs/Web/Security/Same-origin_policy),或者 `blob:` 和 `data:` 方案。
> - `download` 只適用於[同源 URL](/zh-TW/docs/Web/Security/Defenses/Same-origin_policy),或者 `blob:` 和 `data:` 方案。
> - 瀏覽器如何處理下載因瀏覽器、用戶設置和其他因素而異。用戶在下載開始之前可能會收到提示,文件可能會自動保存,或者它可能會自動打開,無論是在外部應用程序中還是在瀏覽器本身中。
> - 如果 `Content-Disposition` 標頭與 `download` 屬性的信息不同,則結果行為可能不同:
> - 如果標頭指定了 `filename`,則優先於 `download` 屬性中指定的文件名。
Expand All @@ -63,7 +63,7 @@ li {
- `referrerpolicy`
- : 跟隨連結時發送的[引用者](/zh-TW/docs/Web/HTTP/Reference/Headers/Referer)的程度。
- `no-referrer`:不發送 {{HTTPHeader("Referer")}} 標頭。
- `no-referrer-when-downgrade`:不發送 {{HTTPHeader("Referer")}} 標頭至沒有 {{Glossary("TLS")}}({{Glossary("HTTPS")}})的[來源](/zh-TW/docs/Web/Security/Same-origin_policy)。
- `no-referrer-when-downgrade`:不發送 {{HTTPHeader("Referer")}} 標頭至沒有 {{Glossary("TLS")}}({{Glossary("HTTPS")}})的[來源](/zh-TW/docs/Web/Security/Defenses/Same-origin_policy)。
- `origin`:發送的引用者將僅限於引用頁面的來源:其[協定](/zh-TW/docs/Learn_web_development/Howto/Web_mechanics/What_is_a_URL)、{{Glossary("host", "主機")}}和{{Glossary("port", "通訊埠")}}。
- `origin-when-cross-origin`:發送給其他來源的引用者將僅限於協定、主機和端口。對同一來源的導航仍將包含路徑。
- `same-origin`:對於{{Glossary("Same-origin policy", "同一來源")}},將發送引用者,但跨來源請求將不包含引用者信息。
Expand Down
2 changes: 1 addition & 1 deletion files/zh-tw/web/html/reference/elements/script/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ slug: Web/HTML/Reference/Elements/script
- `fetchpriority`
- : Scripts with the `defer` attribute will execute in the order in which they appear in the document.This attribute allows the elimination of **parser-blocking JavaScript** where the browser would have to load and evaluate scripts before continuing to parse. `async` has a similar effect in this case.
- `integrity`
- : This attribute contains inline metadata that a user agent can use to verify that a fetched resource has been delivered free of unexpected manipulation. See [Subresource Integrity](/zh-TW/docs/Web/Security/Subresource_Integrity).
- : This attribute contains inline metadata that a user agent can use to verify that a fetched resource has been delivered free of unexpected manipulation. See [Subresource Integrity](/zh-TW/docs/Web/Security/Defenses/Subresource_Integrity).
- `nomodule`
- : 這個布林屬性,會要求支援 [ES2015 modules](https://hacks.mozilla.org/2015/08/es6-in-depth-modules/) 的瀏覽器,不執行裡面的程式。這能用來給不支援 JavaScript 模組的老舊瀏覽器,提供用於向下支援的服務。
- `nonce`
Expand Down
2 changes: 1 addition & 1 deletion files/zh-tw/web/http/guides/cors/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ l10n:

一個跨來源請求的範例:從 `https://domain-a.com` 提供的前端 JavaScript 代碼使用 {{domxref("fetch()")}} 請求 `https://domain-b.com/data.json`。

出於安全原因,瀏覽器限制從腳本發起的跨來源 HTTP 請求。例如,`fetch()` 和 {{domxref("XMLHttpRequest")}} 遵循[同源政策](/zh-TW/docs/Web/Security/Same-origin_policy)。這意味著,使用這些 API 的 Web 應用程序只能請求與加載該應用程序的相同來源的資源,除非來自其他來源的回應包含正確的 CORS 標頭。
出於安全原因,瀏覽器限制從腳本發起的跨來源 HTTP 請求。例如,`fetch()` 和 {{domxref("XMLHttpRequest")}} 遵循[同源政策](/zh-TW/docs/Web/Security/Defenses/Same-origin_policy)。這意味著,使用這些 API 的 Web 應用程序只能請求與加載該應用程序的相同來源的資源,除非來自其他來源的回應包含正確的 CORS 標頭。

![CORS 機制示意圖](cors_principle.png)

Expand Down
Loading