2013年2月3日 星期日

檢測瀏覽器

JavaScript程式碼:

<script type="text/javascript">
var ua = navigator.userAgent.toString();
if(/MSIE/.test(ua)){var isIE=1;}
else if(/Firefox/.test(ua)){var isFirefox=1;}
else if(/Chrome/.test(ua)){var isChrome=1;}
else if(/Safari/.test(ua)){var isSafari=1;}
else if(/Opera/.test(ua)){var isOpera=1;}
document.write('ua='+ua+'<BR>');
document.write('isIE='+isIE+'<BR>');
document.write('isFirefox='+isFirefox+'<BR>');
document.write('isChrome='+isChrome+'<BR>');
document.write('isSafari='+isSafari+'<BR>');
document.write('isOpera='+isOpera+'<BR>');
document.write('isFirefox='+isFirefox+'<BR>');
</script>

Win8 UI

2013年2月2日 星期六

IP與黑名單



TCPIPUTILS.com

包括 Whois, Traceroute, 各種 Blacklist,以及 Ping



SPAMHAUS

http://www.spamhaus.org/lookup/

可檢測 IP  位址或網域



http://cbl.abuseat.org/lookup.cgi?ip=203.69.30.1&.pubmit=Lookup



http://www.backscatterer.org/?ip=203.69.30.1

http://moensted.dk/spam/





http://whatismyipaddress.com/blacklist-check

http://www.dnsbl.info/dnsbl-database-check.php

http://www.mxtoolbox.com/blacklists.aspx



How to find BOTs in a LAN

http://cbl.abuseat.org/advanced.html

2012年12月16日 星期日

表單驗證


Javascript 表單字串檢查



測試字串是否符合正規表示:

/**
* Check string
* @date 2012/08/13
* @by Ron Lee
*/

//letters and numbers and underscore
function validLiteral(INPUT) {
var pattern = /^(\w+)$/; // a-zA-Z0-9_
var result=pattern.test(INPUT);
return result;
}

//numbers
function validNum(INPUT) {
var pattern = /^(\d+)$/; // 0-9
var result = pattern.test(INPUT);
return result;
}

//account
function validAccount(INPUT) {
var pattern = /^[a-zA-Z]+([-_\.]\w+)*$/;
var result=pattern.test(INPUT);
return result;
}

//password
function validPassword(INPUT) {
var pattern = /^([^\'|\"]+)$/; // quote is not allowed
var result=pattern.test(INPUT);
return result;
}

//email
function validEmail(INPUT) {
var pattern = /^(\w+)([-\.\w]*)@([-\w]+)(\.[-\w]+)+$/i;
var result = pattern.test(INPUT);
return result;
}

//phone number
function validPhone(INPUT) {
var numExp = /([\d-]+)/; // phone number: numbers and hyphens: 12-3456-789
var result = pattern.test(INPUT);
return result;
}

//date
function validDate(year, month, day) {
var dateStr = (year+'/'+month+'/'+day).replace(/\b(\d)\b/g, '0$1');
if (!dateStr) return false;
if (!dateStr.match(/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/)) return false;
var dateObj = new Date(dateStr);
var get_dateStr = dateObj.getFullYear()+'/'+(dateObj.getMonth()+1)+'/'+dateObj.getDate();
get_dateStr = get_dateStr.replace(/\b(\d)\b/g, '0$1');
//document.write(dateStr+'<BR>'+get_dateStr+'<BR>');
return dateStr==get_dateStr;
}
function addTimeZero(dateString){
return document.write(dateString.replace(/\b(\d)\b/g, '0$1'));
}
//file name in url
function getUrlFilename(INPUT) {
var url = window.location.toString();
var result= url.split(/(\\|\/)/g).pop();
return result;
}




2012年12月9日 星期日

PHPMailer

PHPMailer 不知道發生了什麼事,現在網站的下載連結都是錯。點擊 download,不管是哪一個:

PHPMailer for PHP4

PHPMailer for PHP5/6

PHPMailer-FE (Form2Email)

PHPMailer-ML

PHPMailer-BMH

全部都會連到PHP4 的舊版 。不過首頁倒是提供一個連結到 code.google.com 的網站,在這裡可以下載新版 PHPMailer 。目前是 5.2.2



Updated for PHPMailer v5.0.0 (官網,函數說明)



其它參考:

PHPMailer介紹與使用 (派克空間)

實作PHPMailer郵件函式庫 (雖然是 2007 年的文章,但距今2012,差別不大)

利用 phpmailer 透過 gmail 寄信 (使用 465 port, openssl )

PHPMailer tutorial (AskApache 的教學,英文)