2016-03-15 83 views
0

我一直認爲JavaScript作爲客戶端腳本,沒有可能與服務器端一起工作,但是由於node.js已經改變。 但我仍不明白它是如何工作的,例如看看這段代碼:Express.js/Node.js與mysql

var mysql  = require('mysql'); 
var connection = mysql.createConnection({ 
    host  : 'localhost', 
    user  : 'dbuser', 
    password : 's3kreee7' 
}); 

connection.connect(); 

connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) { 
    if (err) throw err; 
    console.log('The solution is: ', rows[0].solution); 
}); 

connection.end(); 

javascript顯示在客戶端,所以每個人都可以看到登錄名和密碼到DB?或者在節點代碼不顯示在客戶端?

因此,如果smne有phpmyadmin直接在他的服務器,如網站/ phpmyadmin或網站/ MySQL,它允許黑客登錄到它? 對不起,如果它是愚蠢的問題,我從來沒有使用過節點。

+0

請務必不要爲您的nodejs文件提供服務(例如,將它放在DocumentRoot中),否則每個人都會看到您的密碼 –

回答

1

這段代碼被服務器端執行,

我們可以說,這個代碼與PHP的,只是在PHP。

沒有人可以訪問(通常)服務器端代碼。

0

Node.js允許在瀏覽器後端運行Javascript,類似於PHP,比如說@alexey,但爲了運行你打算在後端運行的JavaScript,它需要被解釋和執行。這就是Node.js使用Google Chrome所使用的JavaScript運行時環境Virtual Machine V8 Google所做的。

它主要是作爲一個異步事件驅動的框架。