發表文章

經得起原始碼資安弱點掃描的程式設計習慣培養(十九)_Schema allows arbitrary nodes (SIGMA.element_any_core_xsd)

Schema allows arbitrary nodes (SIGMA.element_any_core_xsd) Sigma main event: Arbitrary nodes are allowed in a valid document which makes it  easier for attackers to perform attacks like XML injection. Ref: <xsd:any> Element https://learn.microsoft.com/en-us/previous-versions/dotnet/netframework-4.0/ms256043(v=vs.100) XXE的基本概念和利用方式 https://www.freebuf.com/articles/web/265324.html Structure of a content XSD document https://documentation.opencms.org/opencms-documentation/template-development/content-type-definition-with-xml-schema/structure-of-a-content-xsd-document/ 为什么要使用 XML Schema? https://www.w3school.com.cn/schema/schema_why.asp https://www.w3school.com.cn/schema/schema_complex_any.asp Allowing Any Content docstore.mik.ua/orelly/xml/xmlnut/ch16_08.htm https://docstore.mik.ua/orelly/xml/xmlnut/ch16_08.htm xsd:any:幕后故事 https://searchcloudcomputing.techtarget.com.cn/5-17839/ XML学习笔记5——XSD复杂数据类型 https://www.cnblogs.com/linjisong/p/3305228.html

3-3.Image Quantization

圖片
  量化步長(Delta) X代表要被量化的訊號,N是量化級別的數量。 原始信號的最大值和最小值要先計算出來,也就是一整張影像(矩陣中最大及最小的值) 均勻量化(uniformly quantize):把輸入信號的取值域等間隔分割的量化稱為均勻量化 輸入陣列X(向量或矩陣)到 N 個離散等級。 使用此函數來量化: 指定影像為 7 b/pel、6、5、4、3、2、1 b/pel(bits per pixel) 程式碼 >> y=imread( 'fountainbw.tif' ); >> image(y); >> colormap(gray( 256 )); >> axis( 'image' ); >> z=double(y); >> max_val = max(z(:)); >> min_val = min(z(:)); >> N= 2 ^ 7 ; >> delta = (max_val - min_val) / (N - 1 ); >> quantiz_image7 = round ((z - min_val) / delta) * delta + min_val; >> image(quantiz_image7); >> colormap(gray( 256 )); >> axis( 'image' ); 設定量化級數N為2的7次方代表每一個像素占用7bit 執行量化操作 :從每個像素值中減去 Min(X)再去除以delta。四捨五入到最接近的整數,再乘以量化步長,最後加回最小值。 將N重構為function傳參版本 getavg函數程式 最終程式 function quantize_and_save_image (image_filename, bits_per_pixel) % 讀取並顯示原始圖像 y = imread(image_filename); figure; image(y); colormap(gray( 256 )); axis( 'image...

Matlab操作溫故筆記1_圖片讀取_基礎變數、矩陣、陣列運算_流程控制_函數

圖片
  讀圖及顯示 y = imread( 'fountainbw.tif' ); image(y); 在Matlab開啟後預設可能是在C槽(若快爆掉空間不夠可更換預設Matlab執行存取的 指定路徑要在哪裡 右鍵可以選Clear Command Window清除讓Command Window乾淨一些 預設起初讀進來顯示時候會發現顏色跑掉 在下一行運行colormap後 就是去指定說此張影像所必須用到的色盤矩陣(Colormap Matrix) 換言之,就是所謂的「顏色對照表」。 y = imread( 'fountainbw.tif' ); image(y); colormap(gray( 256 )); 可藉由 size去顯示該張影像寬高幾pixel 8位灰階圖像419*576影像 WorkSpace會有留存一些監看式變數值與型態資訊可點Clear WorkSpace來清除 Matlab中基礎變數、矩陣、陣列運算 矩陣中每個元素間空白間隔 以下就是2*3的矩陣 2橫列3直行 若有加分號就不會立即顯示結果 直接輸入變數名再換行會直接打印出來 若要初始化都是0的矩陣就透過zeros(row,column)來初始化 而假如是需要單位矩陣(主對角線皆為1) 則可以透過eye(row,column) 冒號表達式 E=0:1:5 從0開始,每次遞增1步步長,直到5 F=0:5 預設也是每次步長遞增1 範例測試程式1 >> A=[ 1 2 3 ; 4 5 6 ] A = 1 2 3 4 5 6 >> A A = 1 2 3 4 5 6 >> B=[ 5 7 8 ; 2 9 0 ]; >> B B = 5 7 8 2 9 0 >> C= zeros ( 3 , 2 ) C = 0 0 0 0 0 0 >> D= eye ( 4 , 5 ) D = 1 ...

Linux時間校正_將時區設定為台北

圖片
 將時區設定為台北 sudo timedatectl set-timezone Asia/Taipei

香農-法諾編碼自頂向下(Shannon-Fano Algorithm_A top-down approach)

圖片
  初始符號和計數: A: 15 B: 7 C: 6 D: 6 E: 5 總計數和排序: 總計數:15 + 7 + 6 + 6 + 5 = 39 根據計數降序排序:A, B, C, D, E 左0右1 第一次分割: 尋找一個分割點,使得兩側的計數總和大致相等。 在這個例子中,A的計數是15,其他四個符號的總計數是24,所以分割點在A之後。 賦碼:A獲得編碼 '0',剩餘符號獲得編碼 '1'。 組0: A(15) 組1: B(7), C(6), D(6), E(5) 對組0賦予碼'0',對組1賦予碼'1'。 第二次分割,對組1中的符號進行進一步分割: 組10: B(7), C(6) 組11: D(6), E(5) 對組10賦予碼'10',對組11賦予碼'11'。 第三次分割,繼續對剩餘的每組符號進行分割: 對於組10: 組100: B(7) 組101: C(6) 對於組11: 組110: D(6) 組111: E(5) 最終獲得每個符號的編碼: A: 0 B: 100 C: 101 D: 110 E: 111 每個符號最終都有一個唯一的編碼,並且由於編碼過程中沒有任何一個編碼是另一個編碼的前綴

AWS Route53配置_Namecheap域名

圖片
Namecheap 申請2美元的域名(使用期限一年)記得要先註冊帳號 https://www.namecheap.com/ AWS Route 53 整併剛購買的域名 (每月0.5美元) Namecheap 搜尋域名按Search 自己用感興趣的域名找尋 SEO比較好的相對價格費用較高 當然若成本考量這邊還可以篩選就是2美元價格內一年用的域名 域名就有點類似一個商標或者招牌的概念 取的愈有區別度相對就會有更高的被搜尋檢索到的機會 有時候你想要用domain可能沒有出現在這邊或者太昂貴 這邊可展開 點選過濾篩選一年只要2美元的成本就可看到相符的domain 這邊暫時先用最便宜的域名 也可以一次就購買2年份 價格可能較沒這麼划算但可以省去後續長期時間用下來的更替作業 暫時先配一年 需要填寫一些聯絡地址等資訊 不能用中文  Latin characters 自己貼google翻譯成英文就好 之後就是線上去付款添購此域名 到Dashboard就能去管控DNS了 預設在Domain 頁籤下 NameServers 默認選的就是第一個由這個平台來維護 也可以選擇Custom改成自己的DNS Server 自己去維護domain name database 這裡就用默認的就好 這樣可以省事不用自建DNS Server 或者待會可透過AWS Route53服務 切到Advanced DNS頁籤 可新增一筆A record 代表domain跟IP的對應 Route 53就是AWS提供的DNS服務 其實Route53本身點registered domain 也能夠類似像Namecheap去做域名添購 但是比較貴 竟然NameCheap這類平台本身就能協助納管DNS Database和IP相關映射 幹嘛還要用AWS的Route53 事實上Route53提供很多進階功能 像是建置一個domain可對應到多個IP 達成DNS輪循 (Round Robin DNS) 可去設置各IP的比重分配 https://www.askapache.com/optimize/dns-round-robin-rsync-over-ssh/ 在這邊我們來建一個託管區域(每月0.5美元) 要注意!! https://aws.amazon.com/tw/route53/pricing/ 申請好的Domain...