【茶包射手日記】詭異的Oracle Client 32/64版本錯誤
同事報案,某台測試機器原本只裝Oracle Client 32位元版本,因該主機上的SQL Server x64需建Linked Server連Oracle,故加裝了Oracle Client 64位元版本[參考]。不料,同主機用System.Data.OracleClient讀資料的網頁,在安裝Oracle Client 64位元版後,忽然冒出Oracle 32/64版本不符的經典錯誤:An...
View Article使用Fiddler竄改網頁內容進行測試
瀏覽器F12開發者工具內建的網頁封包分析功能日益強大,但老牌HTTP封包傳輸偵錯神器-Fiddler,還是有不少獨門絕活為F12工具遠遠不及,例如先前研究NTLM與Kerberos驗證時用到的Inspector/Auth資訊分析。今天則介紹Fiddler另一項少為人知但強大的功能-AutoResponder。用F12工具修改網頁DOM、CSS,甚至JavaScript都不是問題,但只能在網頁載入後事...
View Article【笨問題】IIS HTML、圖檔傳回空白內容
家裡的Windows 10不常用來開發,前陣子寫MVC測試入口網站內嵌其他網站跨網站還正常,但在IIS放個test.html時,卻出現奇怪現象。使用瀏覽器存取test.html,內容一片空白。怕是新增的網頁有問題,用IIS wwwroot原本就有的iisstart.png總該OK吧?登楞~一樣傳回空白。開啟Fiddler偵錯,進行幾個對照測試,觀察到結果如下:存取png及html時傳回HTTP...
View Article搞懂X-UA-Compatible IE相容設定
始終沒認真搞懂X-UA-Compatible IE=7跟IE=EmulateIE7有什麼不同,最近專案要步入「古今合壁」的偉大工程,把許多IE Only的活化石網頁跟HTML5網頁摻在一起做瀨尿牛丸,再不弄清楚恐會死得難看,於是查了文件做了實驗,筆記備忘。MSDN文件 Defining document compatibility所有IE包含三種文件模式:Standard Mode(標準模式)...
View ArticleIE11、XML Data Island與VBScript
前文提到眼前的棘手任務是在HTML5網站整合活化石等級的ASP(是的,就是ASP!不是ASPX),其中一大挑戰是ASP網頁裡大量使用XML Data Island與VBScript,能不能與HTML5並存是未知數,心中最理想結果是以IFrame內嵌ASP,大草原上羚羊跟迅猛龍一起快樂奔跑,世界真美好~當然,最後證明這只是不切實際的幻想,真實上演的是迅猛龍趕羚羊咬羚羊的慘烈場景 orz試著在HTML5...
View Article【邏輯來找碴】燕麥有農藥好可怕?
這兩天關於大燕麥有則大消息:衛福部食品藥物管理署抽驗市售36件燕麥片產品,有10件燕麥片驗出含有年年春,含量為0.1ppm(百萬分之一)到1.8ppm。食藥署要求違規業者應在收到下架通知的72小時內完成下架。頓時社會一片嘩然,媒體大幅報導(查了一下,Google新聞有101則呢),大家爭相走告,群情恐慌。身為大燕麥重度食用者,我也收到好多來自同事朋友的關心,但在了解始末之後,我只想說「茄!這不科學啊...
View Article2016海山馬
唯一留下落馬記錄的海山馬,對我有不一樣的意義,雖然去年已雪恥,但麥克阿瑟將軍說過「Pick yourself up from where you’ve fallen… at least twice.」「從哪裡跌倒,就從哪裡爬起來......
View ArticleSQL效能調校經驗一則
使用者報案,某網頁效能變得奇慢無比,簡單的上線公告查詢耗時超過兩分鐘,追查後抓出問題查詢如下例:selectcasewhenconvert(varchar,u.StartDate,108)='00:00:00'andconvert(varchar,u.EndDate,108)='00:00:00'thenconvert(datetime,convert(varchar,u.EndDate,111))...
View Article【茶包射手日記】TypeScript MSBuild編譯失敗
接獲報案,專案修改無法使用TFS Build Service編譯,錯誤訊息如下:D:\Works\1\BLAH\src\Web\Scripts\Foo.ts (112): Build: 'let' declarations are only available when targeting ECMAScript 6 and...
View Article【獅子鬃毛】臉書官方承認竊聽使用者日常談話?
又在報紙看到聳動標題「臉書驚爆竊聽門 官方承認用APP蒐集用戶隱私」,消息來自一篇標題更聳動的Blog文章「臉書版竊聽風雲...
View ArticleEntityFramework烏龍記-SaveChanges出現OriginalValues取值錯誤
使用Entity Framework新増資料,SaveChanges()時出現以下錯誤:System.Data.Entity.Validation.DbEntityValidationException: Validation failed for one or more entities. See 'EntityValidationErrors' property for more...
View Article【水電工日記】瓦斯爐點不著,鬆手就熄火
聲明在先,瓦斯爐維護一定有風險,大家請審慎衡量,若無把握或不想冒險,建議請專業師傅處理較為妥當。本文純為經驗分享,恕不負任何責任。家裡的瓦斯爐有一爐打火困難,就是傳說中「旋鈕點火,一鬆手火就滅」的常見問題,近來情況日益惡化,壓著火著,鬆手就滅,一搞三五分鐘,水都快燒開了還點不著。先說說「一鬆手火就滅」的原因。近代瓦斯爐基於安全考量,都有加裝熄火自動切瓦斯的安全裝置,原理是在爐嘴安裝一枝探針型「熱電偶...
View ArticleASP網頁IE9相容拉皮筆記
整合清代ASP的工作持續進行,上回提過用IFrame內嵌ASP網頁時,父網頁與IFrame必須為同樣的IE模式,若父網頁要採HTML5時代寫法,就得考量各程式庫的IE最低版本要求,例如:KendoUI為IE8以上、AngularJS 1.3+需要IE9,再加上XML Data...
View Article淺談IFrame式Clickjacking攻擊與防護
用IFrame內嵌其他網頁是很常見的整合技巧,兩個獨立開發網頁可分別使用,有需要再合體,被內嵌的網頁配合移除頁首頁尾只留內容,看起來天衣無縫,省事又方便。大家猜猜以下HTML寫法會有什麼結果,網頁上有一小塊出現Google首頁?<!DOCTYPEhtml><html><head><metacharset="utf-8"><metaname="vi...
View ArticleHash對講機-IFrame跨站台網頁通訊程式庫
這是最近跟老IE纏鬥衍生的副產品。雖然已研究出用document.domain克服無法與IFrame跨站台網頁溝通問題,但實務上常不免會遇到使用IP、機器名稱或別名連上網站的場合,document.domain法只適用URL採FQDN完整網域名稱且後段網域相同的情境,實用性大減。針對IFrame跨站台溝通,浏览器同源政策及其规避方法一文提到三種解法:window.name...
View Article沒下載東西只是看網頁也會中毒?快檢查Flash Player版本
Flash漏洞儼然己成為病毒、木馬入侵的一條捷徑,前陣子鬧得沸沸揚揚的勒索病毒大爆發,經調查就是經由雅虎網頁廣告傳播,透過Flash漏洞感染,再加上使用者未開啟UAC,只是瀏覽網頁就中毒。因為Flash沒更新,不過上網看個網頁就中獎,怎麼想都覺得可怕。更何況不是去什麼見不得人的網站充實D槽,也沒有胡亂下載安裝軟體,只不過看了每天都可能光臨的入口網站就中鏢,像是走在路上無端被招牌砸頭,無比冤枉。因此,...
View Article【獅子鬃毛】不用IE就不會中加密勒索病毒?
前陣子媒體流傳一種說法,「專家」依據PTT爆出大串中勒索病毒的求救文,爬文後歸納理出心得:不要用IE(傳說中的「這瀏覽器」)、不要上中國網站!真相未明前,靠著歸納線索推測嫌犯無可厚非,但在欠缺科學方法驗證前驟下結論,很容易冤枉無辜者。單依統計做結論,可信度更是堪慮,例如:柯南是死神無疑、醫院是最危險的地方,不然為什麼那麼多人死在醫院…...
View Article【茶包射手日記】Visual Studio手動加入Config檔無效
同事報案,用Visual Studio跑自動測試發現NLog沒作用。前陣子整理過NLog問題偵錯技巧,熟門熟路啟動SOP:先在NLog.config加入<nlog throwExceptions="true>,未發現執行錯誤...
View Article取消安裝Application Insights
Application Insights是一套雲端服務監控系統,透過簡單設定就能蒐集ASP.NET網站伺服器及使用者資訊,例如:使用者使用的瀏覽器種類、到訪頁面(類似Google分析的功能),另外也能蒐集伺服器反應時間、請求統計與錯誤訊息等,還能設定檢查,偵測網站是否活著。(延伸閱讀:Sky的文章-Azure - Application Insights、官方介紹)Visual...
View Article【茶包射手日記】NuGet Packager編譯卡住無回應
自從安裝Visual Studio NuGet Packager套件後,製作及上傳NuGet Package的工作輕鬆許多。隨著應用範圍擴大,發現一個問題:當打包項目變多,有時會發生編譯後一直停在編譯狀態永遠不結束,只能強制中止。試著增減打包項目,反覆測試後確定一點,當住與項目數目無絕對關聯,而是「項目愈多,出問題機率愈高」。為追查問題看了NuGetPackage.ps1,才對NuGet...
View Article