驗證網站HTTPS協定

Linux系統:

Download:https://www.openssl.org/

openssl s_client -connect 127.0.0.1:443 -cipher ‘EXP’ 2> /dev/null | grep Cipher

 

Microsoft Windows系統:

Download:https://nmap.org/download.html

nmap –script ssl-enum-ciphers -p 443 127.0.0.1 -P0 | find “EXP"

其他參考指令:

http://www.exploresecurity.com/wp-content/uploads/custom/SSL_manual_cheatsheet.html

廣告
張貼在 Uncategorized | 發表留言

Web版本的數學運算式

有時候我們在寫網誌Blog或是各種計畫書或是論文投稿的時候,難免需要加入許多的演算法或計算式。通常表達這些演算法或計算式,有時並非單純的 符號可以表達比方 Submation,或是矩陣運算,或是Limit。

今天無意間看到一個Web版本的好工具。而且還是Online版本,可以直接在網頁上編輯數學式,然後在下載圖片。

http://www.codecogs.com/latex/eqneditor.php

 

張貼在 Uncategorized | 發表留言

藍芽Beacon目前的標準

本文複製來自:http://3smarket-info.blogspot.tw/2016/09/beacon-ibeaconeddystonealtbeacon.html

目前市場上主要有三個關鍵的虛擬標準
Apple美商蘋果公司的 iBeacon;
Google的Eddystone;
Radius Network的AltBeacon

以上三個虛擬標準,都使用低功秏藍牙廣播方法,將廣播封包放在低功秏藍牙頻道37、38和39位置,以避免在2.4 GHz 工業、科技和醫療 (ISM)免執照波段上,與Wi-Fi流量衝突。
此外,透過在虛擬標準使用低功秏藍牙廣播的結構裡,嵌入其格式和數據,每當Beacon裝置發送廣播時,相同的封包,將立即於三個廣播頻道上進行發送,促使低功秏藍牙接收器/掃描儀接收訊號。一但接收到訊號,掃描儀將決定封包內容,是否可被解碼及其關連性後,再採取相對應的行動。
在廣播封包內,數據負載結構為一個,或多個[長度、類型、數據]形式
長度:長度部分定義了接下來的,類型和數據結合的型號
類型:類型決定了數據是名字、服務UUID、URI或多種定義的類型的一個,以及數據封包,使Beacon結構更進一步在數據內,定義子結構,以確定不同的虛擬標準。
數據封包:廣播封包和數據封包,使用相同的格式。Beacon遵循標準廣播封包格式,但包括嵌入一個或多個虛擬標準的數據負載。

 

Apple的 iBeacon
Apple的iBeacon是較早的Beacon採用者。iBeacon是Apple的商標,想要販賣iBeacon產品的供貨商,或使用iBeacon符號必須獲得Apple的許可。
iBeacon 規範和其他開發資源,可以從Apple Developer下載,iBeacon每個封包的總長度為 30個字節(Byte),其必須以100ms間隔廣播(儘管iBeacon OEM廠商,不一定總是嚴格遵循100ms的要求)。
使用Core Location framework的iOS 應用,可以使用iOS來持續的監測通過Beacon區域的事件,例如,進入或者離開iBeacon接近區域,取決於UUID、主要和次要的區段。
iOS監測取決於應用是否在運行,甚至可以使得關閉的應用開始運行。監測功能僅作用於,當用戶行動應用程序中定位服務(Location Services)。

Google的Eddystone
Eddystone是一款開源、跨平台的Google beacon格式。其支持Android和iOS裝置,與其他beacon標準不同的是,它定義了幾個不同的幀類型,可以獨立使用或者聯合使用:
Eddystone-UID可以廣播獨一無二的BeaconID
Eddystone-URL廣播URLs
Eddystone-TLM可以用來廣播關於Beacon自身的遙測(健康和狀態)數據,和Eddystone-EID使用短暫的身份標識,用於要求更強的安全性的Beacon應用。用於該結構格式的規範尚未發佈。
Eddystone-URL結構,可使行動平台根據接近狀態,提供網頁內容,而無需要求安裝app,其使得Google推動的「The Physical Web」計劃或者 「ability to walk up and use anything」的網路成為可能。
Eddystone已經擁有iOS之Chrome支持,並將從版本49開始提供Android的Chrome支持。有了Chrome Today工具,用戶將可存取其周邊網頁內容,並且在碰到beacon時收到通知。
Google Eddystone GitHub page,提供了Eddystone協議規範、工具和開放原始碼範例,Google Developers forum亦提供了更多關於Google Beacon平台的訊息。

AltBeacon
Radius Network定義了,以創建OS-agnostic為目的之AltBeacon規範,開放原始碼標準將不會因應特定供貨商的需求。本規範可以在AltBeacon website上找到,其無需任何許可或認證的費用。就像其他beacon一樣, 它使用非連接、非直接的廣播封包。

張貼在 Uncategorized | 發表留言

停用 WebDAV,或禁止不需要的 HTTP 方法

Allow 標頭顯示允許危險的「HTTP 選項」,表示伺服器已啟用 WebDAV。

測試

curl -i -X OPTIONS https://www.test.com:8443

修改 web.xml

<security-constraint>
<web-resource-collection>
<web-resource-name>Disable HTTP methods by 403 Forbidden</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>DELETE</http-method>
<http-method>TRACE</http-method>
</web-resource-collection>
<auth-constraint /><!– 沒有任何角色可以存取 –>
</security-constraint>

 

 

張貼在 Uncategorized | 發表留言

Google reCapacha

<%@page import="java.net.*, java.io.*"%>

<%@page import="java.net.*, java.io.*"%>

<%@ page language="java" contentType="text/html; charset=UTF-8″ pageEncoding="UTF-8″%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

<%  response.setCharacterEncoding(“UTF-8″); request.setCharacterEncoding(“UTF-8″);%><html>

<header> <title></title> </header>

<body>

<form action = “#" method = “POST">

https://www.google.com/recaptcha/api.js

<input type = “submit" value = “Submit" />

</form>

<% String g_recaptcha_response = (String)request.getParameter(“g-recaptcha-response"); String secret="CCDDBBAA";

URL dest = new URL(“https://www.google.com/recaptcha/api/siteverify?secret="+secret+"&response="+g_recaptcha_response);

URLConnection yc = dest.openConnection();

BufferedReader in = new BufferedReader( new InputStreamReader( yc.getInputStream()));
StringBuffer sb = new StringBuffer();

String inputLine;

while ((inputLine = in.readLine()) != null){ sb.append(inputLine); }

if (!sb.toString().matches(“.+\"success\"\\s*:\\s*true\\s*.+") )

out.println(sb.toString());

in.close();

%>

</body>

</html>

張貼在 Uncategorized | 發表留言

Java 去除空白/控制字元

String content = new String(bytes, “UTF-8″).replaceAll(“\\u001A", “") String content = new String(bytes, “UTF-8″).replaceAll(“\\u001A", “") .replaceAll(“[^\\u0009\\u000A\\u000D\u0020-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFF]+","");

張貼在 Uncategorized | 發表留言

MySQL的recursive 遞迴SQL

參考:http://stackoverflow.com/questions/16513418/how-to-do-the-recursive-select-query-in-mysql

有一個Table 類似以下資料:

id        name        parentid
1          T1              NULL
2          T2              1
3          T3              2
4          T4              3

SQL語法:

SELECT * FROM (
select t.id, t.name, @pv := t.parentid parentid
from (select * from recursivetable order by id desc ) t
join (select @pv := 4) tmp
where t.id = @pv
) r

 

張貼在 Uncategorized | 發表留言