發表文章

JS dialogs警告訊息

圖片
                    最近有使用者反應檔案無法上傳,檢查後發現當按下上傳按鈕後沒有反應,一開始我以為是上傳資料夾權限的設定跑掉,因為前不久主機做過電力維護有重開機,所以原本要去看設定,但又發現一直出現 A different origin subframe tried to create a JavaScript dialog 這樣奇怪的警告訊息。                 查了一些資料發現可能是和 JS dialogs 有關,因為發生問題的系統是在職員工系統底下的一個子系統,子系統都是在 iframe 框架底下工作,如下圖:                 資料顯示目前 chrome92 版以後的都會受到影響,系統使用到 JS dialogs 可能在跨網域時 chrome 認為是一種欺騙行為。測驗其他像是 Firefox 、 Edge 或是 IE 都沒有這個問題,但因為這是安全性問題,我猜可能其他瀏覽器之後的更新可能也會出現這樣的問題。                  所以目前的解決方法是發生問題的這個子系統不再 iframe 底下工作,當按下連結後跳出另一個分頁執行,身分驗證的參數加密傳送,再進行測試就沒有出現警告訊息,檔案也能正常上傳了 !!                 檢查其他系統都沒有出現這類的警告訊息,因使用者急著要用所以到底是引用了什麼 js 檔裡面有用到 JS dialogs 會出現警告訊息還要再找時間調查了。 參考網址: https://www.chromestatus.com/feature/5148698084376576#details   https://trailblazer.salesforce.com/issues_view?id=a1p4V000...

TCPDF android字體

  前不久有人向我反應一份 PDF 的申請表只有表格裡面的文字都消失了,這份申請表是我用 TCPDF 套件產生的 PDF 檔,詳細問了才知道電腦產生是沒問題,但手機 (android 系統 ) 上看會出現這種狀況。 TCPDF 套件預設是 msungstdlight 這個字體, google 以後找到 android 可以用 DroidSansFallback 字體。操作方式也很簡單: 1. 先下載 DroidSansFallback.ttf 檔放入 TCPDF 套件下的 fonts 資料夾內。 2. 建立一個 php 檔到 fonts 資料夾內,然後執行 php 檔用底下的程式轉檔,會出現 droidsansfallback.php 、 droidsansfallback.ctg.z 、 droidsansfallback.z 三個檔案 <?php require_once('tcpdf.php'); $font = TCPDF_FONTS::addTTFfont('DroidSansFallback.ttf'); ?> 3.    程式設定字型改成這行 $pdf->SetFont('DroidSansFallback', '', 12, '', true); 再用電腦和手機測試後字體都能正常的顯示。 後記 隔沒幾天又想到之前有一套還沒上線的系統要求要使用標楷體,我將微軟的標楷體字體用這個方法轉檔後產出檔案也能正常顯示。

IIS發送mail

  最近要將舊主機的程式要移到其他主機上,測試到發信功能發現信發不出去,後來找到以下的 code ,插入到 send 之前,信就可以成功發出了。   Mail.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 Mail.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _ "localhost" Mail.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 Mail.Configuration.Fields.Update

IIS-Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80004005'

圖片
  前不久因為機房有一台 windows 的主機太老舊要關機了, MIS 通知我上面的系統都要搬移,我把負責的系統搬到另一台 windows 主機上,在 IIS 上建了一個新的站台然後基本設定做完要做測試時出現了以下的錯誤訊息:   Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80004005'   字面上的意思就是找不到這個驅動,但進去看設定明明 ODBC 的驅動都在上面了,找了好久終於爬到原來我的系統裡面有使用 access 這個我覺得很老又很陽春的資料庫,他必須要在 32 位元的 server 才能正常運作,但我這台是 64 位元的所以才會出現這個錯誤訊息,解決的設定如下:   在 IIS 的管理介面點開應用程式集區,會看所有的站台列表,點開要設定的站台,然後獎啟用 32 位元應用程式的 False 改成 True 後即可。

PHP class和Methods相同的錯誤訊息

圖片
  <b>Deprecated</b>:   Methods with the same name as their class will not be constructors in a future version of PHP   最近在寫程式出現了上述的這個訊息,原因為類別下的 Methods 名稱相同, php7 開始 Methods 名稱和類別相同就會出現這項錯誤,但不影響程式執行,將名稱修改後就能恢復正常。   例: class test{ public function test(){ xxx } }

個資盤點第一次的計畫案經歷

        以下是我第一次執行計畫案的經歷,整個過程很忙也蠻混亂,我想記錄下來以後再有相同案子執行還可以做為借鏡,然後不要再犯了 哈哈。          大概是九月中時收到一封廠商寄來的 mail ,也讓十一月成了我今年最忙的一個月。信上的大意是之前我的同事有和他詢問個資盤點的報價,現在這件案子有沒要執行。沒錯,個資盤點,這是一個軟體會在每一台電腦安裝然後去掃描電腦的檔案有多少個資,就像做資安有帳號的盤點,每台主機有建立多少帳號網管人員要清楚的紀錄,財管有財產的盤點,單位內有多少財產價值多少保管人要清楚的掌握,而個資盤點也是手上有多少筆的個資,業務負責人也是要了解的。因為同事已經請了育嬰假而我是第一代理人,這項業務當然就由我承辦了,從這裡為期三個多月挑戰正式開始。         首先這是一項要和廠商買東西的案子,我之前都在內部寫程式完全沒有相關執行或採購經驗,要怎麼開始還真是個難題。我先查了一下單位內確實有編這項經費,然後跟廠商聯絡要買這項產品,光這段就拖了快一個禮拜,因為剛好遇到我出差去上 ISO27001 的資安課程,我只能用下課時間連絡人。出差回去後直接做請購過兩三天後被退回來,後來才知道請購前要先上簽呈,上面長官同意後才能請購, 這下可以證明我真的沒有買過東西了 ( 苦笑 ) ,好吧又過了一個禮拜進度打回零。         好不容易簽呈和請購都通過了,已經來到九月底了。這期間廠商幾乎是每天打來問進度和細節,對方似乎很想要在月底前結案,但我對採購到驗收的流程沒有概念,根本沒辦法保證哪個確定時間能夠開始買設備開始執行然後結案,一直打去問採購單位那邊人應該也被我問到想掛我電話了吧,我能感覺到他的不耐煩 呵呵          還有感謝我的同事回來和廠商溝通和之前有執行過這案子的學長很有耐心地回答我的問題,讓情況比較好一點。再來首先要先確認要接受盤點的單位和人員名單,整理好就花了快半天,看的我眼睛超酸。國慶連假後廠商的工程師透過電話和我說明軟體如何執行作業和整套系統的操作方式。       ...

ORA-12899: value too large for column

ORA-12899: value too large for column         最近在做儲存資料的動作時出現了錯誤,這個錯誤訊息很簡單就是字面上的意思,輸入值的長度大小超出欄位可存的範圍。         一般在加大欄位的儲存大小後即可解決,不過建議在欄位建立之前先規劃好要存的資料大小,非不得以時再作改欄位大小的動作,不然欄位加大後可是沒辦法再減少的。                 或是檢查一下輸入的資料對應的欄位是否都正確,不然就像我一樣白癡 10bit 的值塞錯欄位寫到了只能存 2bit 的欄位,修改後就能順利存入了。