Category Archives

146 Articles

nginx 批量配置同步

0   70675 轉為簡體

在編譯了lua-nginx-module的nginx上,可以方便地使用shared dict特性,在不reload配置文件的情況下實現配置同步。

由於shared dict使用一塊共享內存,因此所有worker均可讀寫,也就不存在一致性的問題。

使用shared dict

Read More

nginx/openresty的一些記錄

28   39815 轉為簡體

日誌

屏蔽user-agent並屏蔽日誌

不屏蔽user-agent(允許其訪問),但屏蔽日誌

按uri屏蔽日誌(可以和上面的按user-agent用同一個變量來同時過濾uri和user-agent)

 

Header

按mime type設置緩存時間

防攻擊

簡單的無狀態cookie challenge(需要lua-nginx-module)

crawlers塊中可以手動填寫要屏蔽的IP

將其中的s改成隨機字符串+時間戳可以變成有狀態版本(需使用redis/memcached/shared memory存儲生成的隨機字符串)

將set-cookie改成通過js生成cookie可以變成javascript challenge,注意要在js里加上瀏覽器上下文判斷,如var cookie=location.protocol?cookie:””; 或者DOM操作

這裡有個更高級的輸驗證碼的示例

其他

植入cookie

需要注意的是使用ngx.time()產生秒級的時間,用來做隨機數種子可能會衝突,因此建議加上另外的隨機變量(如下面的例子用的是客戶端的ip) 可以使用ngx.now()產生毫秒精度時間

一次Windows 服務啟動失敗的排查經歷(WLAN AutoConfig 1068)

12   45781 轉為簡體

本文原載於《21天從零開始做修Windows電腦專家:入門到精通》一書

某一次重啟之後,發現筆記本的wifi無法連接了,顯示為紅叉。

在Windows10的設置里提示,沒有在您的計算機上找到無線網卡,之類的。首先確認無線網卡驅動正常,為了保險起見,還回滾了一次驅動(因為曾經出現過Win10自動更新後驅動跪了的情況)。

那麼是怎麼回事呢?

萬能的谷歌告訴我們,在操作系統層處理無線協議的服務是WLAN AutoConfig。

WLAN AutoConfig的服務名稱是wlansvc,我們使用sc查詢其運行狀態:

嘿夥計你瞧,它掛了:)  錯誤碼是1068。如果你在“服務”控制台中嘗試啟動它,會提示

436919cbgw1eweeu2sv5nj20dn063gm9

 

這是為什麼呢?( ´◔ ‸◔’)
Read More

微軟大法好

13   126035 轉為簡體

在被windows 10和office 2016的安裝虐的體無完膚之後,我終於看清了微軟的開發團隊是如何的王八egg。

436919cbgw1ev6nkgyb81j204b053746

舉個例子,假設微軟做了個機器人,功能是去一個房間把房間中心桌子上的筆記本第一頁上的內容記下來;如果桌子不在房間中心,那這個機器人還是會回來告訴你“沒桌子”的,但是要是房間中心有個桌子而筆記本掉在地上,或者桌子上確實有個筆記本,但是第一頁被撕掉了,那這個機器人就懵b了……

遇到此類問題時,切記不可過度依賴查詢錯誤碼,基本沒啥卵用;按照微軟的思維,只要變成它認識的狀態就行了(比如,重裝是萬能的)

436919cbgw1ev6nkgmplpg203c03b413

Read More