Javascript 字串加密解密範例研究
最近需要用 JS 保存一些,不想被很容易就判讀出來的資料,因此研究了一下 JS 如何對字串進行加密及解密。結果搜尋發現網路上這方面的實用工具不多,原因大致是:JS 是攤在陽光下的語言,加密解密流程會被看到因此很少純前端進行加密與解密,大多是配合後端進行運算,一邊加密另一邊解密不過只要加密用的金鑰(key)不被知道,就算純前端也是能有一些應用,本篇會提供一些前端的 JS 字串加密解密範例。(圖片出處:...
View ArticleAdsense 出現惡意蓋版廣告事件紀實
前陣子接獲報案,表示網站出現蓋版廣告,找不到排除的方法,因而尋求協助。原本猜想到 Adsense 後台改一下設定、調整一下安裝碼就好,結果處理後才發現事情不單純,因此特別整理一篇做為記錄。一、Adsense 後台設定進入「Adsense 官網」:左側選單 → 廣告 → 總覽選擇網域 → 編輯出現上圖畫面,右邊的選項中,如果有開啟「自動廣告」,以及開啟「穿插廣告」,就會出現 Adsense...
View Article前端使用 JS 裁切圖片並壓縮再存到後端﹍Croppie 實作範例
最近接到一個需求,希望使用者上傳圖片時,可先在前端進行裁切,以免存到後端的圖片尺寸比例不對,也可避免檔案過大。之前寫過一篇「前端如何使用 JS...
View Article2020 Lazy Load 延遲載入圖片原理及實作分析研究
前陣子接到一個需求,客戶網站做完「PageSpeed Insights」檢測後分數很低,於是尋求協助。對客戶網站進行健檢後提供一份報告與建議,客戶詢問「延遲載入畫面外圖片」的部分如何改善。這個項目「PageSpeed Insights」本身提供了不少參考資料,不過研究後才發覺水相當深,本篇為心得記錄整理。(圖片出處: lozad.js)一、PageSpeed Insights 測試1....
View Article檢舉侵權抄襲的 APP 使其下架(連同 Adsense)﹍流程實錄
約一年前由本站研發及架設的網頁服務「線上看電視」,推出後迴響不錯,累積了一批數量不小的忠實觀眾。而手機版的網頁,覺得介面、效果還算堪用,暫時尚未研發 APP 版本,不過偶爾也會觀摩一下同性質的 APP,看看別的開發者如何設計,有無優點可學習、或缺點可改進。在今年五月左右,於 Google Play 搜尋類似的 APP 時,發現了似乎以前沒見過的...
View Article如何讓新版 Blogger 按 Enter 能建立換行符號
Blogger 推出新版後台介面後,原本我一直是手動切回舊版來操作,以規避新版介面產生的各種問題。但是前幾天官方已消滅了舊版後台,也就是強制一律只能使用新版介面,這下真的沒輒只能硬著頭皮使用。 其實這段期間以來,新版很多問題都已反應給官方,有些是有改進,但官方沒有動作的部分想必是沒有意願調整,沒辦法只好自己來了。 對我而言最無法接受的一項是,官方拔掉了文章編輯器的選項「按 Enter...
View Article前端 JS 如何避免 callback 地獄?Fetch API 及 Promie 使用技巧
由於早期 Javascript 設計上的缺陷,一方面使用 Ajax 送出 http 請求時,舊時代的 API 異常繁複,非得使用 JS 框架操作 Ajax 才比較方便,例如 jQuery。 一方面 Ajax 是非同步(Asynchronous)執行緒,會造成前端工作一些麻煩,例如後續事務需要 Ajax 返回資料才能處理時,必須另外拉個 callback 函數執行才不會報錯。但又不能真的把 Ajax...
View ArticleBlogger「作者簡介」已恢復顯示,功能設定教學
多年前寫過「讓 Blogger 能在文章下方顯示作者簡介 」,不過去年有讀者於留言 #5 表示 "作者資料無法顯示",此變故的主因大致是這樣: 當年 Google 為了推廣 Google+,用了各種方法勸誘使用者將 Blogger 帳號移轉為 G+ 帳號Blogger 各處的作者相關資訊也連帶改為顯示 G+ 帳號資訊然而 G+ 在 2019 年關閉,導致 Blogger 各處作者相關資訊無法讀取...
View Article使用 JS 追蹤訪客﹍裝置指紋辨識原理 + 實用工具介紹
現在消費者已越來越能接受線上付費觀看影音服務,例如官方提供的職業運動直播(NBA、MLB 等),以及各種追劇平台(Netflix、Line TV、愛奇藝等)。而消費者總是希望花錢的效益最大化,如果買一個帳號能在三台裝置收看,則可能找三個人合資分攤費用。 站在影音平台的立場,技術上必須防堵消費者同時登入超過 3...
View ArticleSublime Text 檢測 JS 最佳工具 ESLint﹍安裝 + 設定技巧
一直以來使用 Sublime Text 3(簡稱 ST3)檢查 Javascript 錯誤的工具是「JSHint Gutter」,優點為執行快速、圖形介面操作友善、自訂參數完善,沒想過有可能要放棄他的一天。 基於網路環境所發展的技術實在進展太快,也可說是變化太快,JS 過去難解的非同步問題在 ES6、ES7 之後已獲得緩解,也特地寫了一篇「前端 JS 如何避免 callback 地獄?Fetch...
View Article嘗試徹底解決 Line、FB 手機 APP 無法正確開啟網頁的困境
前幾年曾寫過「用 Line、FB 手機 APP 開啟網頁對前端工程師的困擾﹍JS 辨識內建瀏覽器(webView)的方法」,除了解釋 "什麼是內建瀏覽器"、"為何 APP 要用 webView"、"內建瀏覽器會產生什麼問題" 等等,還有提到幾個要點: 這件事以目前的網路技術,沒有治本的解決方法手機 APP 只會越來越多,不可能針對所有 APP 個別處理暫時只能針對少數熱門 APP 處理,例如...
View Article搜尋結果標題被 Google 安插額外的字串(或品牌名稱)怎麼辦?
為了讓搜尋結果能增加網站知名度,常見的作法是在網站範本中,為 title標籤加入網站名稱。操作的方式可參考「Blogger 只要做到這幾件事, 就能輕鬆加強 SEO 搜尋排名」→「三、文章優化」→「1. 網頁標題」,將網站名稱字串放在文章標題後面。 這樣的技巧有個優點,如果網站名稱包含了某些關鍵字,同時在搜尋結果顯示文章標題與網站名稱,可增加一些搜尋的能見度,也就是稍微能提升 SEO 排名。...
View ArticleCC0 免費圖庫搜尋引擎﹍2021 版
「CC0 免費圖庫搜尋引擎」今年進行大改版,核心的搜尋功能不變,不過操作介面、及行動版操作都有很大的改善: 原本受限於版面寬度,能夠進行搜尋的圖庫大致不到 10...
View Article處理 Google OAuth 憑證流程
上一篇「取得 Google API Key(金鑰) 流程」說明了開發者如何申請 API 金鑰,可以使用 Google 提供的各種服務,存取比較公開、不敏感的資訊。 而當需要存取比較機密、需要驗證身份的資訊時,就不能只靠 API 金鑰,需要另外走驗證身份的流程。Google 提供的驗證機制目前版本為 OAuth 2.0,詳細原理可直接參考這篇「Google OAuth 2.0」。...
View Article使用 Google API 處理登入登出功能,取得使用者基本資料﹍實作範例
上一篇「用 FB API 製作登入登出按鈕」,說明了會員系統的登入功能外包給第三方服務的優點,同時提供實作範例,本篇繼續說明 Google API 登入登出功能的製作流程,及提供自製按鈕實作範例。 (圖片出處: pixabay.com)一、準備動作建立 Google API 專案前端開發人員通常都已建立過 Google API 專案,如果還沒建立過的話,請完成以下流程:「取得 Google API...
View Article推薦線上工具:台灣景點人潮監視器 + 一整天的音樂
前陣子 FB 粉絲團收到訊息,通知「贊助管道」的 PayPal 按鈕產生錯誤。當下沒有很在意,因為通常是不在台灣的客戶、讀者,需要從海外付款我才會請他們使用 PayPal。 幾年前 PayPal 退出台灣支付業務,一方面是稅務問題(會增加成本),一方面台灣金融法規進化速度慢,國外新創企業不見得願意遷就台灣這小小市場,所以 PayPal 離開之後,短期內仍應不會有支付業務的跨國企業想進入台灣。...
View Article免外掛實現各種複雜 HTML5 表單驗證功能﹍實作範例(電話+生日+郵件+密碼確認)
前幾年介紹過一個不錯的表單驗證外掛「Validator」,最近為了想增進網頁效能,研究一下能否不靠外掛就實現這些複雜功能。 由於 HTML5 已經內建基本的表單驗證功能,效果、質感都滿有水準的,那麼剩下的就是一一想辦法解決實作上容易遇到的情境。 本篇會舉例各種常見的表單項目如何進行驗證,並提供實作範例。 (圖片出處: pxhere.com) 一、強制驗證參數 required HTML5...
View ArticleGoogle Apps Script 操作試算表資料庫防駭技巧﹍防止程式碼注入攻擊
過去曾介紹過一系列利用「Google Apps Script 操作試算表資料庫」的文章,如果這樣的簡單資料庫只是私用,自然不必考慮安全性。然而如果資料公開的話,防駭反而是第一要務,比學習任何 Google Apps Script(簡稱 GAS) 程式技術都更重要。 本站的「會員系統」正是使用 Google 試算表做為資料庫,當初並沒有太擔心被駭,原因有二: 如果真能駭入後端試算表伺服器,那...
View Article使用 Google People API 取得使用者生日、性別等多種個人資訊
上一篇「使用 Google API 處理登入登出功能,取得使用者基本資料」,能獲得的會員資訊有 email、姓名、頭像等等,算是比較基本的資訊,後續能做的主要是 email 行銷、聯絡會員等行動。...
View Article