當前位置:首頁 » 文件管理 » express4上傳文件

express4上傳文件

發布時間: 2022-12-28 21:13:07

㈠ 請教Express 4 中如何使用connect-mongo

簡單的介紹下node+express+mongodb這三個東西。

node:是運行在伺服器端的程序語言,表面上看過去就是javascript一樣的東西,但是呢,確實就是伺服器語言,個人覺得在一定層次上比c靈活,java就不提了。反正你只要認為node可以干很多事就行了,絕對不只是web開發。
express:這貨呢,就是node的一種框架,node有很多的開源框架,express是一個大神開發的(這尊神已經移駕到go語言的開發去了)。express可以讓你更方便的操作node(因為原生的node寫起來比較麻煩,而且因為node是事件驅動的,所以有很多非同步回調,寫多了就看著暈...)
mongodb:這是一種非關系資料庫(nosql),太深的東西我也不清楚,反正這貨也有很強大的地方,缺點就是不適合數據一致性要求高的比如金融方面的開發。但是優點就快。
總結:也就是說node和mongodb組合起來特別適合一個應用場景——速度快,處理量大的情況。

下面先說說准備工作:(以windows8.1系統環境為例)
1.node:先下載安裝nodejs,下載地址http://www.nodejs.org/,安裝好了之後檢查是否在系統環境變數里自動配置好了path,如果沒有,請把node的安裝地址配置到path里去。然後在cmd里敲入node,如果可以,那麼這一步ok了,很簡單吧。
2.express:這個安裝分兩種,一種是全局安裝,一種是本地安裝。網路上說的玄乎玄乎的,但是實際操作中你會發現不同的系統環境會出現問題,比如win8.1中文用戶名情況下,你得改變npm的全局路徑(npm是node模塊包管理程序,在你安裝好node的時候已經自帶npm了),操作:
prefix = 自定義模塊目錄
cache = 自定義緩存目錄
接著安裝express(新版本4.X以上要安裝express-generator)
npm i -g express(舊版本npm i -g express+版本號)
npm i -g express-generator
(如果想本地安裝在和npm同一個目錄下,先cd到node_moles目錄,再使用npm i express-generator命令,然後再將node_moles目錄下的./bin配置到環境變數path里去)
測試:
express -V 成功的話會顯示版本號
3.mongodb:這個資料庫安裝很簡單,下載地址http://www.mongodb.org/。安裝好了,就在cmd里cd到mongodb安裝目錄下的bin目錄,然後敲命令:
mongod --dbpath="mongodb安裝目錄\data" --logpath="mongodb安裝目錄\log\log.txt" --install --serviceName MongoDB --serviceDisplayName MongoDB
操作完,你會發現,你的電腦的服務里多了一個MongoDB服務,沒錯,就是它,然後你運行這個服務就行了。

正題:搭建簡單的node+express+mongodb項目

先在cmd控制台里cd到一個目錄下面,記住這你的workspace,然後是用是用express創建一個app項目
express hello-world -e (-e表示支持ejs模板引擎,默認是jaden。什麼事模板引擎,比如jsp...太深的我也不懂。本人比較擅長html原生的東西,像這種模板引擎我也是第一次使用,也蠻方便的哦,不過在我看來,沒啥用, 我不需要,但是可能你需要...)
然後我們再下載依賴包
npm i (這樣就會自動將項目需要的依賴moles安裝到項目的moles里去了)
我們cd到hello-world目錄下,是用命令
npm start 啟動項目(也可以是node ./bin/www,舊版本直接node app.js,因為具體要看package.json里的啟動配置了)
我們可以在瀏覽器地址欄里敲入 http://127.0.0.1:3000/ 這就是你的第一個express創建的node app。
是不是很哈皮。。。

我們研究下express創建項目
你需要了解的項目主要目錄為:routes和views,你最好再在項目里新建一個目錄叫models(作用後面講)
routes里index.js配置的都是get和post請求的路徑映射關系,很簡單的哦。
views里index.ejs就相當於一個html文件,裡面就是一些html標簽和<%%>標簽,感覺和jsp差不多哦。
看起來不錯的樣子,標準的MVC框架(models里放模型,views裡面放展示,routes裡面放控制)

上面我們已經生成好了app原型,接著我們設計資料庫
cmd命令行里:
mongo //進入資料庫
use hello-world //創建項目資料庫
db.addUser("shuaige", "123456") //給這個資料庫創建了一個叫帥哥的賬號,密碼123456 (但是我覺得可能我理解的不到位,你也可以不做這個操作)
然後,我們就為這個hello-world資料庫創建collection(collection就相當於oracle和mysql里的table)
db.createCollection("users") //創建一個集合,也就是表
db.users.insert({userid: "admin", password: "123456"}) //給users里添加一個文檔,也就是一條記錄賬號admin,密碼123456
ok,現在檢查一下:
db.users.find() //如果看到你剛剛添加的文檔記錄,就ok咯

好簡單的資料庫集合以及文檔設置好,我們就回到express創建的node項目里,我們需要:

在models下創建一個user.js,作為實體類映射資料庫的users集合
在views下做幾個頁面(可以用ejs也可以用html,我就用ejs吧)
在routes下的index.js配置路由,也就是請求映射處理

1在models下創建一個user.js,作為實體類映射資料庫的users集合

user.js

?
1
2
3
4
5
6
7
var mongoose = require("mongoose"); // 頂會議用戶組件
var Schema = mongoose.Schema; // 創建模型
var userScheMa = new Schema({
userid: String,
password: String
}); // 定義了一個新的模型,但是此模式還未和users集合有關聯
exports.user = mongoose.model('users', userScheMa); // 與users集合關聯

2在views下面建index.ejs, errors.ejs, login.ejs, logout.ejs, homepage.ejs。 (index是自帶的,不用建)

㈡ Express框架進階4---安全(轉)

以下內容基本與express中國網站 生產環境最佳實踐:安全 一致

舊版本將不在維護,可能存在已知的漏洞

2-1 . 如果應用程序處理或傳輸敏感數據,請使用 傳輸層安全性 (TLS) 來保護連接和數據。這種技術用於加密數據,然後將其從客戶機發送到伺服器,以防止某些常見的(而且容易的)黑客攻擊。雖然 Ajax 和 POST 請求可能不是很明顯,似乎「隱藏」在瀏覽器中,但是其網路流量很容易受到 包嗅探 攻擊和 中間人攻擊 。
您可能很熟悉安全套接字層 (SSL) 加密。[TLS 就是下一代的 SSL]( https://msdn.microsoft.com/en-us/library/windows/desktop/aa380515(v=vs.85) 。換言之,如果您以前使用 SSL,請考慮升級到 TLS。一般而言,我們建議使用 Nginx 來處理 TLS。要獲取在 Nginx(和其他伺服器)上配置 TLS 的優秀參考信息,請參閱 Recommended Server Configurations (Mozilla Wiki)。
此外,可以使用一種方便的 Let』s Encrypt 工具來獲取免費的 TLS 證書,這是由 網際網路安全研究組 (ISRG) 提供的免費、自動化的開放式認證中心 (CA)。
2-2 . 攻擊者會根據此欄位知道後台的框架,採取針對性攻擊。
app.disable('x-powered-by');

npm的包 Helmet 通過適當地設置 HTTP 頭,幫助您保護應用程序避免一些眾所周知的 Web 漏洞。

Helmet 實際上只使用以下九個較小中間件函數的集合,這些功能用於設置與安全相關的 HTTP 頭:

4-1 . 將cookie中存儲的session id的key設置為通用值如sessionID,在express的環境下,默認值為connect.sid;
4-2 . 設置cookie安全性選項:

引入的第三方依賴需經過安全檢驗。可以使用npm的nsp或requireSafe來檢驗第三方軟體包的安全性。

以下是來自非常出色的 Node.js 安全核對表 的一些進一步建議。請參閱此博客帖子以了解關於這些建議的所有詳細信息:

關注 Node 安全項目 公告,這可能會影響 Express 或應用程序使用的其他模塊。一般而言,Node 安全項目是有關 Node 安全性的知識和工具的出色資源。

最後說明一點,和任何其他 Web 應用程序一樣,Express 應用程序也容易受到各種基於 Web 的攻擊。請熟悉已知的 Web 漏洞 並採取相應的預防措施。

㈢ 請教Express 4 中如何使用connect-mongo

express 4 跟之前很不同。
比如 express.session 和 express.cookieParser 都已經不存在了。
express 和 中間件已經剝離了,除了 express.static。
var connect = require(『connect』);
var session = require(『express-session』);
var MongoStore = require(『connect-mongo』)(connect);

app.use(session({
secret: settings.cookieSecret,
store: new MongoStore({
db: settings.db
})
}));

㈣ 請教Express 4 中如何使用connect-mongo

var connect = require(『connect』);
var session = require(『express-session』);
var MongoStore = require(『connect-mongo』)(connect);

app.use(session({
secret: settings.cookieSecret,
store: new MongoStore({
db: settings.db
})
}));

㈤ 在Outlook Express 中如何導入、導出郵件和通信簿

導入、導出工作可以在 文件的下拉菜單中得到實現。 Outlook Express 5 可以導入以下的通信簿文件 文件類型 Windows 通信簿.wab Eudora Light or Pro (through version 3.0).txt LDAP Data Interchange format (LDIF).idif Microsoft Exchange Personal Address Book.pab Microsoft Internet Mail for Window 3.1 Address Book.abc Netscape Address Book (version 2 or 3).htm Netscape Communicator Address Book (version 4).nab Text File (Comma Separated Values).csv, .txt注意:如果想要從Outlook 中導入聯系人,應先從 Outlook 中把聯系人導出到 *.csv格式(用逗號分隔的文本格式), 然後導入 Outlook Express. Outlook Express 5 可以導入以下的郵件 文件類型 Eudora Light or Pro (through version 3.0)? Microsoft Exchange.pst Microsoft Internet Mail (32-bit and 16-bit versions)? Microsoft Outlook.pst Microsoft Outlook Express 4.x and 5, beta 2.mbx, .ods Microsoft Windows Messaging.pst Netscape Communicator? Netscape Mail (version 2 and 3)?Outlook Express 5 可以導入以下的郵件賬號:Netscape Mail (versions 2 and 3)Netscape CommunicatorEudora mail (through version 4.0)Microsoft ExchangeOutlook Express 5 可以導入以下的新聞賬號:Netscape Mail (versions 2 and 3)Netscape CommunicatorMicrosoft Internet Mail and NewsOutlook Express 5 可以導出的通信簿文件類型 Microsoft Exchange Personal Address Book.pab Text File (Comma Separated Values).csvOutlook Express 5 可以導出的郵件 Microsoft Exchange.pst Microsoft Outlook.pst如果您卸載了Internet Explorer 5,則在以前的版本,如 Outlook Express 4 的導入中會增加一個導入 Outlook Express 5 郵件的選項,完成對 Outlook Express 5 的郵件的恢復。

熱點內容
微博微信登錄密碼是什麼 發布:2025-08-23 15:13:38 瀏覽:199
衡量一個存儲器的指標通常是什麼 發布:2025-08-23 15:12:16 瀏覽:58
資料庫刪除實例 發布:2025-08-23 14:21:27 瀏覽:315
qqandroid反編譯 發布:2025-08-23 14:02:23 瀏覽:908
高級語言編譯有哪些 發布:2025-08-23 13:23:49 瀏覽:575
win32編譯 發布:2025-08-23 13:19:16 瀏覽:659
備份資料庫日誌 發布:2025-08-23 13:07:05 瀏覽:519
php模塊開發 發布:2025-08-23 12:58:43 瀏覽:924
java讀寫資料庫 發布:2025-08-23 12:41:40 瀏覽:403
php跨站腳本攻擊漏洞 發布:2025-08-23 12:34:37 瀏覽:158