贊助商連結


javascript中如何判斷空值null與undefined

在 JavaScript 中,有基本(Primitive)資料型態、複合(Composite)資料型態,還有兩個特殊的值 nullundefined

nullJavaScript 中特殊的值,表示沒有任何東西。應用的時機就是在變數不參考至任何物件時,可以指定變數為 null,或測試變數是否參考至 null

undefined 是 JavaScript 中特殊的值,當你試圖取得某個沒指定任何值的變數(也沒指定 null)或特性(Properties)時,就會出現 undefined 的結果。對 undefined 使用 typeof 的結果是 'undefined'。在 Node.js 中,undefined 會顯示 undefined。(在 Rhino Shell 中,undefined 不會顯示任何結果,因此,你在 〈資料型態〉中看到的 Rhino Shell 示範,若是執行結果為 undefined 時,就只是單純換下一行而不顯示任何東西。)

var exp = undefined;
if (typeof exp == "undefined")
{
    alert("undefined");
}

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

  1. $stmt = $conn->prepare("SELECT * FROM feed WHERE SUBSTRING_INDEX( id, '_', 1 ) = ? limit ?,? ");
  2. $stmt->bindValue(1, $group_id);
  3. $stmt->bindValue(2, $start);
  4. $stmt->bindValue(3, $end);

若要做limit查詢時,不可利用基礎的bindValue方法去做參數綁定,必須要利用如下的進階bindValue方法做強制轉型,查詢語法也從問號改成 :start等。

  1. $stmt = $conn->prepare("SELECT * FROM feed WHERE SUBSTRING_INDEX( id, '_', 1 ) = :group_id limit :start,:end ");
  2. $stmt->bindValue(':group_id', $group_id);
  3. $stmt->bindValue(':start', (int) $start, PDO::PARAM_INT);
  4. $stmt->bindValue(':end', (int) $end, PDO::PARAM_INT);

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

PHPMailer 錯誤:OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed  

, ,

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

PHP漏洞防範 (四) - SQL注入攻擊(SQL Injection)  

SQL注入攻擊(SQL Injection)是攻擊者在表單中提交精心構造的sql語句,改動原來的sql語句,如果web程序沒有對提交的數據經過檢查,那麼就會造成sql注入攻擊。

,

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

PHP漏洞防範 (三) - 客戶端腳本植入攻擊  

本文主要介紹針對PHP網站的客戶端腳本植入攻擊方式。所謂客戶端腳本植入攻擊,是指將可以執行的腳本插入到表單、圖片、動畫或超鏈接文字等對象內。當用戶打開這些對象後,駭客所植入的腳本就會被執行,進而開始攻擊。

客戶端腳本植入(Script Insertion),是指將可以執行的腳本插入到表單、圖片、動畫或超鏈接文字等對象內。當用戶打開這些對象後,攻擊者所植入的腳本就會被執行,進而開始攻擊。

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

PHP漏洞防範 (二) - magic_quotes_gpc=Off的安全性問題  

若是從 PHP 4.0 或甚至更早的版本開始寫程式,一定對magic_quotes_gpc這個設定不會陌生。早期的 PHP 為了防止 user 端送到 server 端的資料,會被惡意內容攻擊,有 SQL injection的疑慮,因此很體貼地設計一個這樣的開關。當magic_quotes_gpc=on時,$_GET、$_POST、$_COOKIE 等等從 user 端來的資料,如果含有單引號、雙引號、反斜線等內容,會自動被加一條反斜線在前面,把該字元跳脫掉,也就是做 addslashes() 的處理,以免開發者不做檢查就直接把資料串在 SQL 指令上,導致系統沒兩天就被駭客爆台。於是,PHP版本持續演進從預設 magic_quotes_gpc = on,變成預設 magic_quotes_gpc = off,再到 PHP 5.3 版之後跟register_globals一樣,宣告棄用,拿掉了這個功能。

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

PHP漏洞防範 (一) - register_globals=On的安全性問題  

最要的php.ini選項:RegisterGlobals

php版本<4.2.0時,php.ini的register_globals選項的預設值為On,當register_globals的設定為On時,程式可以接收來自服務器的各種環境變量,包括表單提交的變量,而且由於PHP不必事先初始化變量的值,從而導致很大的安全隱患。也就是一種把所有參數收進來都當成全域變數儲存的功能。所以從PHP 5.3開始,為了更好的向PHP的未來版本(PHP6)過渡,將未來不再支持的函數標記為DEPRECATED(棄用)。在代碼中使用這些函數,將毫不留情的在頁面中顯示警告信息:「使用了過時的函數…」,使得程式無法正常執行。

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

 Android 5.0 (Lollipop) Android 的全新版本甜蜜登場  

Android 5.0 是一次重大的系統更新。它帶來了全新的設計風格,全新的軟體運作環境、更好的電源管理和大量的細節改進。不過,Android 5.0 的改變,不只是設計和技術層面的,也包含了許多策略層面的東西。

Android L 的「L」終於有了註解——Lollipop(棒棒糖),既不是 Lemon Meringue Pie,也不是 Licorice。延續之前用糖果命名的習慣, Google 正式推出了新一代Android  5.0 ——Lollipop。

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

我該學習哪種程式語言?  

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()

778  

如果資料量太大,我們勢必透過「分頁」的做法來展示。例如google的搜尋結果那樣也會透過第幾頁來展示資料,這樣分頁可以讓使用者一次只查閱特定的筆數、也可以節省相當多資料傳輸的浪費。

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()