freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第十八章使用sql整合網(wǎng)頁(yè)與資料庫(kù)-資料下載頁(yè)

2024-10-11 11:43本頁(yè)面

【導(dǎo)讀】本章說(shuō)明如何使用SQL來(lái)進(jìn)行ASP網(wǎng)頁(yè)與Access資料。頁(yè)進(jìn)行對(duì)資料庫(kù)的檢視、新增、修改、刪除等基本操作。18-2:網(wǎng)頁(yè)與資料庫(kù)整合的基本範(fàn)例。18-3:使用SQL來(lái)檢視資料。本小節(jié)介紹ODBC與DSN的設(shè)定。資料之間的關(guān)連也可以使用關(guān)連式資料庫(kù)(Relational. 少不必要的資料量。一般應(yīng)用程式可以使用ODBC來(lái)對(duì)資料庫(kù)。進(jìn)行標(biāo)準(zhǔn)的處理。資料在不同資料庫(kù)之間的轉(zhuǎn)換較為容易,一般資料庫(kù)廠商都。有提供相關(guān)的轉(zhuǎn)換程式。資料與網(wǎng)頁(yè)的呈現(xiàn)是獨(dú)立的,可以分開(kāi)進(jìn)行,互不干擾。瞭解ASP如何經(jīng)由ODBC與資料庫(kù)溝通。增、修改等動(dòng)作。是一個(gè)工業(yè)界的標(biāo)準(zhǔn)。可讓其他軟體或程式根據(jù)這個(gè)標(biāo)準(zhǔn)一致的程式介面,標(biāo)準(zhǔn)資料庫(kù)語(yǔ)言來(lái)完成。直接指定資料庫(kù)在本機(jī)硬碟的路徑。此種方法較具彈性,整個(gè)應(yīng)用程式目錄可在不同。由本機(jī)對(duì)資料庫(kù)進(jìn)行比較完整的設(shè)定。由「系統(tǒng)資料來(lái)源名稱」所設(shè)定的DSN,是屬於。定並不適用於網(wǎng)頁(yè)瀏覽。中,以便後續(xù)取用。的的方式來(lái)取得欄位名稱及內(nèi)容等資訊。關(guān)閉RecordSet及資料庫(kù)連結(jié)。設(shè)定conn物件的ConnectionString性質(zhì)來(lái)指定資料庫(kù)。

  

【正文】 稱 59/69 JavaScript 程式設(shè)計(jì)與應(yīng)用:用於伺服器端的 ASP環(huán)境 範(fàn)例 185 ? 主題:對(duì)資料表進(jìn)行修改、刪除動(dòng)作。 ? Webpage: remote host, local host ? 說(shuō)明 ? 範(fàn)例中所做的事情 ? 建立一個(gè)資料表 friend。 ? 插入兩筆資料。 ? 刪除一筆資料。 ? 更新一筆資料。 ? 刪除資料表 friend。 ? 範(fàn)例中,如果顯示的欄位值是 null,代表我們當(dāng)初在新增資料時(shí),並沒(méi)有設(shè)定相關(guān)欄位值,資料庫(kù)也沒(méi)有預(yù)設(shè)值,所以才會(huì)回傳 null。 60/69 JavaScript 程式設(shè)計(jì)與應(yīng)用:用於伺服器端的 ASP環(huán)境 範(fàn)例 186 ? 主題:可隨時(shí)對(duì)資料表進(jìn)行修改刪除的範(fàn)例 ? Webpage: remote host, local host ? 說(shuō)明 ? 這個(gè)範(fàn)例,可以讓你在網(wǎng)頁(yè)上嘗詴各種查詢動(dòng)作,例如新增、修改、刪除等。 ? 使用 Access 資料庫(kù)的另一個(gè)好處是,它提供了一個(gè)圖形化的查詢介面,可以使用這個(gè)查詢介面產(chǎn)生的要的查詢結(jié)果,再將此查詢方法轉(zhuǎn)成 SQL 的語(yǔ)法,此時(shí)就可以將此 SQL 語(yǔ)法直接貼到的 ASP 程式碼,對(duì)於產(chǎn)生複雜的 SQL 語(yǔ)法非常好用。 61/69 JavaScript 程式設(shè)計(jì)與應(yīng)用:用於伺服器端的 ASP環(huán)境 小秘訣 ? 使用 ASP 整合資料庫(kù)時(shí),可參考下列小秘訣 ? 資料庫(kù)內(nèi)的資料表名稱及欄位名稱,最好是英文,且中間不可留白。 ? 欄位名稱最好複雜一點(diǎn),以免和資料庫(kù)的內(nèi)建關(guān)鍵字相衝。 ? 文字欄位的預(yù)設(shè)值最好是空字串,不要不設(shè)定預(yù)設(shè)值。 ? 在 Access 內(nèi),除非你的欄位資料量超過(guò) 255個(gè)字元,否則盡量不要用到 memo 欄位,因?yàn)? memo 欄位不支援排序,也不支援萬(wàn)用字元(如「 *」或「 ?」等)。 62/69 JavaScript 程式設(shè)計(jì)與應(yīng)用:用於伺服器端的 ASP環(huán)境 萬(wàn)用字元 ? 在 Access 內(nèi)執(zhí)行 SQL 指令時(shí),有兩個(gè)最重要的萬(wàn)用字元 ? 「 ?」:比對(duì)一個(gè)字元 ? 「 *」:比對(duì)多個(gè)字元 ? 說(shuō)明 ? 若要在 ASP 的程式碼內(nèi)使用 SQL 的萬(wàn)用字元,必頇將「 ?」改為「 _」,「 *」改為「 %」,以符合一般 SQL 語(yǔ)言的標(biāo)準(zhǔn)規(guī)範(fàn)。 63/69 JavaScript 程式設(shè)計(jì)與應(yīng)用:用於伺服器端的 ASP環(huán)境 185:資料隱碼( SQL Injection) ? 本小節(jié)介紹各種因?yàn)?ASP與資料庫(kù)整合時(shí)的疏失,使得他人可以使用非法途徑來(lái)取的資料庫(kù)內(nèi)容,或者進(jìn)行其它侵入。 64/69 JavaScript 程式設(shè)計(jì)與應(yīng)用:用於伺服器端的 ASP環(huán)境 SQL Injection簡(jiǎn)介 ? 「資料隱碼」( SQL Injection)臭蟲(chóng),簡(jiǎn)單地說(shuō),就是將「帳號(hào)」和「密碼」欄位填入具有單引號(hào)的特殊字串,造成伺服器端在接合這些欄位資料時(shí),會(huì)意外地產(chǎn)生合格的 SQL 指令,造成密碼認(rèn)證的成功。 ? 要特別注意的是, SQL Injection 的問(wèn)題不限只發(fā)生在哪種特定平臺(tái)或語(yǔ)言,只要是使用 SQL 指令存取資料庫(kù)內(nèi)的資料,都有可能產(chǎn)生這個(gè)問(wèn)題。 65/69 JavaScript 程式設(shè)計(jì)與應(yīng)用:用於伺服器端的 ASP環(huán)境 範(fàn)例 187(1) ? 主題:以資料庫(kù)內(nèi)之資料進(jìn)行密碼認(rèn)證:基本篇 ? Webpage: remote host, local host ? 程式碼重點(diǎn) ? 說(shuō)明 ? 看起來(lái)一切沒(méi)問(wèn)題,但是如果你想「駭」( Hack!) 這個(gè)網(wǎng)站,事實(shí)上只要輸入下列資料就可以了: ? 帳號(hào): *****(亂打一通) ? 密碼: 39。 or 39。a39。=39。a SQL = select * from password where userid=39。 + Request(user) + 39。 and passwd=39。 + Request(passwd) + 39。 66/69 JavaScript 程式設(shè)計(jì)與應(yīng)用:用於伺服器端的 ASP環(huán)境 範(fàn)例 187(2) ? 說(shuō)明 ? 當(dāng)輸入帳號(hào)和密碼分別是「林政源」和「 gavins」時(shí),可以從資料庫(kù)中查到一筆資料,代表帳號(hào)和密碼正確,所得到的 SQL 指令是 ? 當(dāng)帳號(hào)和密碼分別是「 xyz」和「 39。 or 39。a39。=39。a」時(shí),所產(chǎn)生的 SQL 指令也會(huì)執(zhí)行成功(因?yàn)? 39。a39。=39。a39。 是一定成立的) ? 在 SQL 語(yǔ)法的條件式中,會(huì)先執(zhí)行 and,再執(zhí)行 or。 SQL = select * from password where userid=39。林政源 39。 and passwd=39。gavins39。 SQL = select * from password where userid=39。xyz39。 and passwd=39。39。 or 39。a39。=39。a39。 67/69 JavaScript 程式設(shè)計(jì)與應(yīng)用:用於伺服器端的 ASP環(huán)境 避免 SQL Injection ? 最簡(jiǎn)單的作法,就是在取用客戶端送進(jìn)來(lái)的資料前,先刪除所有可能造成問(wèn)題的特殊字元。 ? 這些字元包括單引號(hào)( ‘)、雙引號(hào)( “)、問(wèn)號(hào)( ?)、星號(hào) ( *)、底線( _)、百分比( %)、ampersand( amp。)等,這些特殊字元都不應(yīng)該出現(xiàn)在使用者輸入的資料中。 ? 刪除特殊字元的動(dòng)作務(wù)必 要在伺服器端進(jìn)行,因?yàn)橛脩舳说? JavaScript 表單驗(yàn)證的檢查是只能防君子,不能防小人,別人只要做一個(gè)有相同欄位的網(wǎng)頁(yè),就一樣可以呼叫你的 ASP 程式碼來(lái)取用資料庫(kù),進(jìn)而避開(kāi)原網(wǎng)頁(yè)的表單驗(yàn)證功能。 68/69 JavaScript 程式設(shè)計(jì)與應(yīng)用:用於伺服器端的 ASP環(huán)境 範(fàn)例 188 ? 主題:使用 replace()避免 SQL Injection ? Webpage: remote host, local host ? 程式碼重點(diǎn) ? 說(shuō)明 ? 在上述原始碼中,因?yàn)? Request(userid) 和 Request(passwd) 的資料是無(wú)法修改的,所以在取代前要先存到另一個(gè)個(gè)變數(shù)。由此範(fàn)例可以知道,只要?jiǎng)h除使用者輸入字串中的所有單引號(hào),就可以避免 SQL Injection 的問(wèn)題。 user = (/39。/g, )。 passwd = (/39。/g, )。 69/69 JavaScript 程式設(shè)計(jì)與應(yīng)用:用於伺服器端的 ASP環(huán)境 SQL Injection 的搜索 ? 在 Google 打入「 登入 」,再對(duì)需要登入的網(wǎng)站進(jìn)行 SQL Injection 的測(cè)詴,就應(yīng)該可以找到一些不設(shè)防的網(wǎng)站。 ? 請(qǐng)通知該網(wǎng)站管理員,並表示自己無(wú)惡意: 70/69 我們研習(xí)張智星老師的「 JavaScript程式設(shè)計(jì)與應(yīng)用」,對(duì)網(wǎng)路上的網(wǎng)頁(yè)進(jìn)行 SQL Injection 的測(cè)試,發(fā)覺(jué)您的登入網(wǎng)頁(yè)(網(wǎng)址是 SQL Injection 的入侵,只要帳號(hào)任意設(shè)定、密碼設(shè)定為「 39。 or 39。a39。=39。a」,即可登入。 這是一封善意的信,我們僅測(cè)試是否可以登入,並未對(duì)資料進(jìn)行任何修改,請(qǐng)查照,謝謝。 (請(qǐng)寫出你的全名,以示負(fù)責(zé),並將 副本給我,以便登記發(fā)問(wèn)一次) JavaScript 程式設(shè)計(jì)與應(yīng)用:用於伺服器端的 ASP環(huán)境 參考資料 ? 可以形成 SQL Injection 的惡意字串還不少,但大部分是針對(duì)微軟的 SQL Server 資料庫(kù)來(lái)進(jìn)行破壞。 ? 以下是參考資料: ? SQL Injection 的因應(yīng)與防範(fàn)之道 .mht ? 駭客的 SQL填空遊戲 (上 ).mht ? 駭客的 SQL填空遊戲 (下 ).mht 71/69
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1