Microsoft PowerPoint - 資訊網路管理與應用Ch10_abstract.ppt

Similar documents
目录

WWW PHP

天津天狮学院关于修订2014级本科培养方案的指导意见

untitled


ebook4-12

untitled

(CIP) Web /,. :, ISBN X.W T P393.4 CIP (2004) Web ( ) ( / ) : * 787

XXXXXXXX

untitled

Microsoft Word - CS-981.doc

結合IC卡之校園安全網頁系統的設計與實現

untitled

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

目 錄 第 一 章 weberp 簡 介... 6 第 一 節 概 述... 6 第 二 節 安 全 性... 7 第 三 節 功 能... 7 一 銷 售 及 訂 單... 7 二 稅... 8 三 應 收 帳 款... 8 四 存 貨... 8 五 購 買... 9 六 應 付 帳 款... 9

Microsoft Word - PHP7Ch01.docx

最 佳 做 法 : 在 需 要 时 或 需 要 前 从 CDN 下 载 内 容, 并 使 它 们 与 Flash 代 码 和 文 件 分 离 存 盘 率 vs 响 应 速 度 当 用 户 玩 游 戏 时, 客 户 端 可 以 把 每 一 个 变 化 实 时 写 到 后 端 Web 服 务 器, 也

epub 61-2

C6_ppt.PDF

ebook65-20

untitled

基于CDIO一体化理念的课程教学大纲设计

1. 前 言 在 現 代 的 工 作 環 境 必 須 要 有 網 路, 網 路 環 境 無 所 不 在, 而 求 職 者 必 須 具 備 網 路 方 面 的 專 業, 才 能 在 未 來 的 職 場 上 保 持 高 度 的 競 爭 優 勢 Cisco 網 路 環 境 幾 乎 涵 蓋 了 全 球 主

untitled

關於本書 Part 3 CSS XHTML Ajax Part 4 HTML 5 API JavaScript HTML 5 API Canvas API ( ) Video/Audio API ( ) Drag and Drop API ( ) Geolocation API ( ) Part 5

Microsoft Word - 01.DOC

RUN_PC連載_10_.doc

untitled

SiteView技术白皮书

Visual C# 2005程式設計

Microsoft Word - Prog1-981.docx

untitled

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

月光迴旋曲

untitled

Microsoft PowerPoint - 12 struct and other datatypes.ppt

Oracle 4

0SQL SQL SQL SQL SQL 3 SQL DBMS Oracle DBMS DBMS DBMS DBMS RDBMS R DBMS 2 DBMS RDBMS R SQL SQL SQL SQL SELECT au_fname,au_ lname FROM authors ORDER BY

untitled

untitled

Windows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco

FileMaker 15 WebDirect 指南

Microsoft Word - SPEC

RunPC2_.doc

Microsoft PowerPoint - Lotus Domino 8 and DB2.ppt [相容模式]

RUN_PC連載_8_.doc

天仁期末個人報告1.PDF

2016 勒索軟體白皮書

Microsoft Word - linux命令及建议.doc

RPC SOAP REST API API HTTP JSON XML PHP PHP PHP PHP PHP HTTP request/response cycle HTTP HTTP verbs headers Cookies JSON XML PHP RPC SOAP RESTful HTTP

Microsoft Word - WebGoat用户指南-beta2.doc

第 一 节 认 识 自 我 的 意 义 一 个 人 只 有 认 识 自 我, 才 能 够 正 确 地 认 识 到 自 己 的 优 劣 势, 找 出 自 己 的 职 业 亮 点, 为 自 己 的 顺 利 求 职 推 波 助 澜 ; 一 个 人 只 有 认 识 自 我, 才 能 在 求 职 中 保 持

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h

untitled

untitled

LAMP system and relative tools like SNMP, Expect, Nmap, etc. to build a cross- platform, lo

PowerPoint 演示文稿

LiveBOS产品白皮书

今天 年春季号 总 92 期

*

( ) / / / / / / /

(Microsoft Word - 8\244T\244\362\277\337\272]\244W\265L\246W.doc)

Microsoft Word - 專家本色 doc

但, 你 应 该 听 过 我 们 走 在 大 路 上 这 首 歌, 或 许 还 知 道 革 命 人 永 远 是 年 轻 那 支 歌 ; 并 且, 几 乎 可 以 肯 定, 你 在 戴 红 领 巾 的 那 阵, 必 然 唱 过 牛 儿 还 在 山 坡 吃 草, 放 牛 的 却 不 知 道 哪 儿 去

2 临 终 助 念 答 问 序 临 终 关 怀, 由 佛 门 净 宗 古 来 祖 师 大 德 提 倡 助 念 往 生, 现 今 已 渐 为 社 会 大 众 所 重 视, 在 台 湾, 台 大 长 庚 等 各 大 医 院, 也 都 设 有 助 念 室 ; 大 陆 上 许 多 道 场, 也 有 专 为

校园之星

Microsoft Word - 澎湖田調報告-宏達組9804.doc

<4D F736F F F696E74202D FA8BEA861B8EAB7BDBEE3A658BB50C0B3A5CE28B773A6CBA5AB29>

之 原 則 及 國 防 部 訂 頒 國 軍 列 管 國 有 不 動 產 提 供 非 軍 方 單 位 使 用 處 理 原 則 規 定 不 符, 仍 應 以 出 租 方 式 辦 理 惟 可 就 偏 遠 地 區 提 供 官 兵 金 融 水 電 服 務 使 用 部 分, 研 議 降 低 租 金 標 準, 報

釋禪波羅蜜次第法門

1700 装 卸 搬 运 7645 装 卸 搬 运 服 务 2100 建 筑 7410 工 程 服 务 11% 装 卸 搬 运 服 务, 是 指 使 用 装 卸 搬 运 工 具 或 者 人 力 畜 力 将 货 物 在 运 输 工 具 之 间 装 卸 现 场 之 间 或 者 运 输 工 具 与 装 卸

《盗墓笔记》 南派三叔/著

平 凡 足 迹 李 本 川 作 者 为 中 国 科 学 院 海 洋 研 究 所 研 究 员,1935 年 生, 山 东 荣 成 人 我 今 年 63 岁 了 大 前 年 丈 夫 和 儿 子 在 一 个 月 内 先 后 离 开 了 人 世, 女 儿 又 已 出 嫁, 现 在 是 孑 然 一 身 我 是


一 個 SQL Injection 實 例 的 啟 示 頁 2 / 6 因 此, 在 知 名 網 站 上 看 到 SQL Injection, 讓 人 驚 心, 卻 不 意 外 網 站 專 案 外 包 是 目 前 業 界 的 常 態, 而 在 價 格 取 勝 的 制 度 下, 低 價 得 標 的 S

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

Transcription:

PHP 運作原理 (1) PHP : Server 端的描述語言, 主要的目的是用來製作動態網頁 開放原始碼 (Open Source) 而且是跨平台的伺服端描述語言 建立成一個 Apache 模組時,PHP 能夠快速執行地, 不需像 CGI 需要產生新的 process 執行 可以用來傳送 HTTP 表頭, 也可以設定 Cookies, 做授權管理, 以及將使用者重新導向至新的頁面 1

PHP 運作原理 (1) 2

PHP 運作原理 (2) 3

PHP Apache MySQL 合作原理 (1) User 4

PHP Apache MySQL 合作原理 (1) 使用者透過 PHP 存取 MySQL 資料庫內容的流程 : 1. 使用者向 Apache 要求 PHP 相關網頁 (.php) 2. 當 Apache 收到這個要求, 經判斷, 把此要求轉交給 PHP 直譯器負責 3. PHP 直譯器解譯此網頁的 PHP 語法, 當遇到 My SQL 相關的函式, 則把 Request 間接傳遞給 My SQL 4. My SQL 把所要求的結果反傳回 PHP 5. PHP 直譯器把此結果包裝成 Apache 看得懂的 Html 語法, 後傳回給 Apache 6. Apache 把此結果 ( 已被 PHP 處理成 Html) 傳回給使用者的 browser 5

PHP Apache MySQL 合作原理 (2) PHP 主要透過四個主函式來達成和 MySQL 溝通 : 6

PHP 語法 (1) 7

PHP 語法 (2) 第 1-3 行 : 變數宣告 :$NAME = VALUE; NAME 為任何非數字開頭的字串, 再加上 $ 字號而成變數, 而 VALUE 則可為任意的數值或是字串等, 並不受限制, 習慣上字串會用引號括起來 第 4 行 :echo 是 PHP 內定的函式, 用來把函式後括號內的式子輸出 字串其實是 Array 的變形, 所以在第 3 行中,b[1] 直接對應 b 字串的第二個單字, 因為 PHP 的 array 和 C 是一樣的, 索引都從 0 開始 除了數字可作加法外,PHP 的字串也可用來相加 (Concatenation), 只需在變數中間用. 標示出來即可 第 5 行 :php 裡的注解可用 C(/* */) 和 C++( // ) 兩種格式 8

PHP 語法 (2) 第 6 行 : 使用者可自行定義自已的函式, 形式如 : function ([ variables ]) {.. } Function 裡定義的變數皆為 區域變數,Function 外的變數則為 全域變數 若要使區域變數為引用全域變數, 只需在變數定義前加上 Global 第 10-17 行 : 迴圈控制 : for(expr1, expr2, expr3) statement while(expression) statement 所以可以把此 While 改寫成 :for ( $I = 1; $I <= $a; $I++) {.. } do while 也是迴圈控制的形式, 不過和 While 最大的分別是,do while 一定會先執行一次, 不論條件成不成立 9

PHP 語法 (3) 第 11-15 行 : 條件判斷 :if (expression) statement elseif(expression) statement else statement 也可以用 switch case 也改寫, 如下 : switch($i) { case 4 :. Default:. 其中,Case 是假設有多種條件式, 當沒有吻和條件時, 就執行 Default 這個預設式 10

PHP 程式設計主要概念 HTML 主要是用 GET 和 POST 兩種方法傳遞 Browser 到 HTTP Server 的變數,PHP 就是利用這個來收取 Client 傳過來的參數 GET 變數 : 當 Web server 收到一組利用 GET 的方法來傳遞變數的請求時, 則 php 會產生一組告為 $_GET 的全域關連性陣列 (global hash) 來儲存這些變數的資料 把網頁上的 <Form> </Form> 包進 HTTP 的 Request Header 裡, 而成網址 (URL) 的一部份 POST 變數 : 用 post 當變數傳遞的方式, 也是產生一個全域關連性陣列, 取名為 $_POST 把 <FORM> </FORM> 裡面的變數包進此 Request 裡的內容中, 而不是像 GET 的做法是把變數加到 Header 裡, 這個作法的好處是所要傳遞的資料可以很大, 而不會因 HTTP 的 Header 的大小而限制 11

Cookie 簡介 Cookie: 儲存在 Browser 端的名稱變數, 用來記綠所屬 Browser 和 Server 端的連線狀態 包裝在 HTTP 的 Response Header, 透過 HTTP Response 中的 Set-Cookie Header 欄位來達成 Cookie 皆有其存活的時間,Browser 包裝此 Cookie 在一系列的 Request 裡, 直到其到期為止 Cookie Manager: Domain 參數限制了此 cookie 所能被傳遞的站台 (Site), 假如此參數沒有設定, 那此 Cookie 只能在設定此 cookie 的站台 (Site) 運作 若 Browser 所要求的網頁沒有在 Path 參數所允許的路徑或其子路徑下, 則 Cookie 不會被包裝在其 Request 封包裡 這在限制一個 Web 站台下的某些目錄才能執行 Cookie, 很有用 Secure 的欄位, 使其 browser 在傳送此 Cookie 時, 利用 SSL(SecureSockets Layer Protocol) 來做一個安全化的連線 12

Session 簡介 (1) Session: 利用對應到每一個使用者的 Session 變數來識別和管理的方法 當 Session 起始時, 此 Client 會有一個 Session 識別碼, 用來加進接下來一連串的 Request 裡, 通常這個識別碼是個 Cookie 相較於把所有需要去維護的變數及其值加入每一個請求 (Request),Browser 只儲存了單一個 Session 識別碼, 用來尋找和初始在 Web Server 上面存放的變數 Session 管理上的特性 : 資訊或狀態需被儲存, 例如, 在多個請求 (Requests) 下, 信用卡的卡號需被小心維護 每一個 HTTP 請求 (Request) 必須含有一個識別碼, 使主機能用來處理此請求 (Request) 的內容 Session 皆需有一個 Timeout 值, 否則, 當使用者一離開此網站, 就沒有方法能去終結此 Session 13

Session 簡介 (2) Session 運作方式 : 在使用 Session 機制的 web 主機上, 當使用者對開啟 Session 的網頁作第一次的請求 (Request) 時,PHP 產生一個 Session ID 及創造一個用來存放 Session 相關變數的檔案,PHP 設定一個存有 Session ID 的 Cookie, 回應 (Response) 給 Browser 這個 Browser 把此 Cookie 變數記錄下來, 且把此 Cookie 加在接下來一連串的 Request 裡 14

Session 運作方式 Get Login.php?name=World Web browser 201 OK Set-Cookie: PHPSESSID=12345 Get /page.php Cookie: PHPSESSID=12345 HTTP Server Session Store Web Server Web browser 201 OK <html>welcome, World</html> 15 HTTP Server Session Store Web Server

PHP 的 Session 管理 PHP Session 管理 : 利用 disk-base 為主的檔案來存放變數, 另一常見的方式是利用資料庫的方式 1. 開啟 Session: 第一次 PHP script 呼叫 session_start(), 一個 session 識別碼被產生, 且一個 Set-Cookie Header 欄位被加入回應 (response) 封包裡 建立一個名叫 PHPSESSID 的 session cookie, 且其值就是這個 session 的識別碼是一 32 個十六進位數字所組成的字串 PHP 的 session 管理機制自動把此 cookie 加入回應 (response) 裡頭, 而不用呼叫 setcookie() 或 header() 兩函式 16

PHP 的 Session 管理 2. 使用 Session 變數 : 被 session 使用的變數需使用 session_register() 函式來註冊 (register) 用 session_unregister() 函式來移除 Session 變數可以是 Boolean 整數 (integer) double 字串 (string) 物件或陣列等 php 允許的變數形態 3. 結束 Session: 在某些時候, 假如使用者登出時,script 能呼叫 session_destroy() 函式把所屬的 session 從系統消除掉, 但沒有移除在 browser 裡的 PHPSESSID cookie, 直到此 browser 被關閉 17

Cookie 及 Session 實例解析 (1) Session 及 Cookie 都是為了追蹤使用者所運育而生的機制, 兩者最主要的差異是 :Cookie 是把記錄儲存在 Client 端, 而 Session 卻把記錄反置於 Server 端 cookie: 若有一 php 檔 (cookie.php), 內容如下 : 18

Cookie 及 Session 實例解析 (1) 在使用者第一次要求此網頁時,Server 在回應 (Response) 結果的過程中, 會在 HTTP 的回應 Header (Response header) 裡, 多一個 Set- Cookie 的欄位, 然後把 Cookie 填入 而當 PHP 在執行的過程中, 若有動到此 Cookie 變數, 則 Web Server 在回應 (Response) 的過程中, 又利用 Set-Cookie 的欄位重設此 Cookie 的值 19

Cookie 及 Session 實例解析 (2) (1) 則當使用者向 Web Server 要求此網頁時 Set Cookie Packet 20

Cookie 及 Session 實例解析 (3) (2) 使用者重覆向 Web Server Request 此網頁 Re-Request Packet 內容 21

Cookie 及 Session 實例解析 (4) Session: 若有一 PHP 檔 (Session1.php) 如下 : 22

Cookie 及 Session 實例解析 (5) (1) 當使用者第一次向 Web Server Request 此網頁 Set Cookie Packet 23

Cookie 及 Session 實例解析 (6) (2) 在接下來的進一步 Request,Bowser 會自動把此 Cookie 加在請求 Header (Request Header) 裡 設定 Cookie 後, 之後的傳送自動將 Cookie 加入, 此 Cookie 就是用來取得位在 Server 端的 Session 檔 24

Cookie 及 Session 實例解析 (6) 25