[HTTP-Headers] Cookie – Secure flag 指南

Intro Wikipedia – HTTP cookie – Secure and HttpOnly Secure flag 旨在要求將cookie加密,使瀏覽器僅能通過安全/加密連接(HTTPS)使用cookie。 另外經常被一起討論的還有 HttpOnly Flag: [[HTTP-Headers] Cookie – HttpOnly flag 指南 實作於程式語言 PHP Option 1: 實作於 Application 層級 <?php ini_set(‘session.cookie_secure’, 1); session_start(); ?> 一般知名 PHP framework 會提供 Secure flag 的 […]

[HTTP-Headers] Cookie – HttpOnly flag 指南

Intro Wikipedia – HTTP cookie – Secure and HttpOnly DEVCORE – HttpOnly – HTTP Headers 的資安議題 (3) HttpOnly flag 要求瀏覽器不要通過 HTTP/HTTPS 以外的管道使用cookie。意即無法通過客戶端Script(尤其是JavaScript)存取cookie,因此無法通過跨站點指令碼攻擊輕易竊取。 另外經常被一起討論的還有 Secure Flag: [HTTP-Headers] Cookie – Secure flag 指南 實作於程式語言 PHP Option 1: 實作於 Application 層級 <?php ini_set(“session.cookie_httponly”, […]

[DNS] CAA – Certification Authority Authorization 指南

Intro DNS CAA (DNS憑證頒發機構授權) – Wikipedia RFC 6844 通過域名持有人指定其域名的白名單憑證頒發機構來實現的安全機制。 該政策透過一個新的域名系統資源記錄(Record)「CAA」來實現,Record範例如下: example.com. CAA 0 issue “ca.example.net” 設定 首先 DNS records 要能夠支援 CAA record 再來針對憑證機構產生及設定 CAA record 即可,以下範例以 Letss Encrypt 機構為例: example.com. CAA 0 issue “letsencrypt.org” CAA Record Helper – CAA資源記錄產生器 References […]

[Kafka] Apache Kafka 指南

Intro Kafka – wikipedia 主要 API Producer API: 推送資料角色使用 Consumer API: 拉取資料角色使用。實作上是各語言透過 SDK 反覆呼叫 consume 請求,consumer 會向 broker request messages。 Connect API: 一般指 Kafka Connect 中的外部 Storage connector plugin 使用。 Admin API: Kafka admin 角色使用。可以設定 Topic, partition 等。 Kafka Connect […]

[Mongo] MongoDB 指南

Intro MongoDB – Wikipedia Introduction to MongoDB Cluster MongoDB Clusters Sharding MongoDB Sharding 分散式儲存架構建置 (概念篇) MongoDB Sharding 分散式儲存架構建置 (實作篇) Replica MongoDB Replica Set 高可用性架構搭建 Query / Mongo Shell [Mongo] Query & Mongo Shell 指南

[並行控制] Concurrency control 指南 – 樂觀鎖|悲觀鎖

Intro Concurrency control – 並行控制 分類上目前可分為三種: 樂觀鎖(Optimistic Locking) 悲觀鎖(Pessimistic Locking) 半樂觀鎖 (Semi-optimistic Locking) * Database – 資料庫管理系統 樂觀鎖 – OCC 樂觀並行控制 – Optimistic Concurrency Control,縮寫「OCC」 不利用內建鎖機制,而是利用應用層邏輯解決衝突 可透過讀取資料時分派一個版本或時間戳,通過校驗後寫入否則中斷(實作上可利用寫入連帶驗證版本達成) 適合交易之間資料競爭(data race)概率較小的應用情境 MySQL 實現範例 update DB.table set quantity = quantity -1 , version […]

[Android][Webview] Intent Handle 指南 – ERR_UNKNOWN_URL_SCHEME

Intro Andriod App 使用內建瀏覽器開啟 intent:// 若出現錯誤: Web page not available The web page at intent://…. could not be loaded because: net::ERR_UNKNOWN_URL_SCHEME 則表示在 Application 的 WebView 沒有處理 Intent,做法詳見 Android Intents with Chrome – Chrome Developers。 可以透過定義 shouldOverrideUrlLoading 方法,判斷連結若符合intent://開頭,則解析 intent 內容並最終利用 startActivity() […]

[ELK] Elastic Stack (OpenSearch): Elasticsearch, Logstash, Kibana 指南

Intro Elasticsearch 是與名為 Logstash 的資料收集和紀錄檔解析引擎以及名為 Kibana 的分析和視覺化平台一起開發。這三個產品被設計成一個整合解決方案,稱為「Elastic Stack」(以前稱為「ELK stack」)。 Wiki – Elasticsearch ELK Stack: Elasticsearch, Logstash, Kibana | Elastic OpenSearch OpenSearch 包含了搜尋引擎與 OpenSearch Dashboards(此搜尋引擎的資料可視化儀錶板)。此軟體始於2021年,作為 Elasticsearch 與 Kibana 的分支,主要由AWS(亞馬遜雲端運算服務)開發。(Wikipedia) OpenSearch Github: OpenSearch Project opensearch-project/OpenSearch: 🔎 Open source distributed and RESTful search […]