我试图了解它们之间的区别
mysql.createConnection
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'example.org',
user : 'bob',
password : 'secret'
});
Run Code Online (Sandbox Code Playgroud)
和
mysql.createPool
var mysql = require('mysql');
var pool = mysql.createPool({
connectionLimit : 10,
host : 'example.org',
user : 'bob',
password : 'secret'
});
Run Code Online (Sandbox Code Playgroud)
在Node.js的mysql模块中
我已经熟悉mysql.createConection了.这似乎是与MySQL建立连接的默认方式.
究竟什么mysql.createPool办?
我什么时候开始使用mysql.createPool?
使用mysql.createPool而不是mysql.createConnection有什么好处?
如果我得到DDOS攻击,我正试图想办法帮助减少对我的node.js应用程序的损害.我想限制每个IP的请求.我想将每个IP地址限制为每秒这么多请求.例如:没有IP地址每3秒钟可以超过10个请求.
到目前为止,我已经想出了这个:
http.createServer(req, res, function() {
if(req.connection.remoteAddress ?????? ) {
block ip for 15 mins
}
}
Run Code Online (Sandbox Code Playgroud) 我正在学习Node.js. 我试图在不使用第三方模块或框架的情况下学习它.
我试图找出如何从每个输入中获取POST数据.
我正在建立一个登录系统:
<form method="POST" action="/login">
<input name="email" placeholder="Email Address" />
<input name="password" placeholder="Password" />
</form>
Run Code Online (Sandbox Code Playgroud)
因此,用户登录并将输入数据POST到服务器.
Node.js服务器已为此POST做好准备:
var http = require('http');
var server = http.createServer(function(req, res) {
if(req.method == POST && req.url == '/login') {
var body = "";
req.on('data', function (chunk) {
body += chunk;
});
req.on('end', function () {
console.log(body);
});
}
});
server.listen(80);
Run Code Online (Sandbox Code Playgroud)
上面的node.js服务器代码可以控制主体.例如,这将是console.log这样的帖子数据:
email = emailaddy@gmail.com password = thisismypw
但我如何单独获取输入数据?我认为在PHP中我可以通过这种方式定位每个输入:
$_POST['email'] and $_POST['password']
Run Code Online (Sandbox Code Playgroud)
我可以将这些值放入变量并使用它们来INSERT或CHECK数据库.
有人可以告诉我如何在Node.js中做到这一点吗?请不要模块准系统!
我试图在不使用任何第三方模块或框架的情况下学习Node.js。我现在要弄清楚如何为登录的用户提供会话ID ...
到目前为止,我知道我可以通过将其写在标题中并设置cookie来设置会话ID:
writeHead(200, {'set-cookie':'Math.random() ' } );
Run Code Online (Sandbox Code Playgroud)
然后我可以检索会话ID,然后将其与数据库进行比较。
request.headers.cookie(request.url);
Run Code Online (Sandbox Code Playgroud)
但是,如何生成会话ID值?我是编程新手。我想到的第一件事是使用Javascript的 Math.random();。并使用该值设置Cookie(会话ID)。在我看来,这很愚蠢,但这就是我能想到的。
我想如何使用Node.js生成会话ID,请不要使用任何第三方模块,准系统!
Node.js是我的第一个后端语言,我正在问自己"我在哪里放置数据库连接信息?".
关于这个问题有很多很好的信息.不幸的是,我所有的例子都是用PHP编写的.我得到了想法,但我没有足够的信心在Node.js中复制它.
在PHP中,您可以将信息放在Web根目录之外的配置文件中,并在需要数据库数据时包含它.
你会如何在Node.js中做到这一点?使用Express.js框架.
到目前为止我有这个:
var express = require('express'), app = express();
var mysql = require('mysql');
app.get('/', function(req,res) {
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'store'
});
var query = connection.query('SELECT * from customers where email = "deelo42@gmail.com"');
query.on('error', function(err) {
throw err;
});
query.on('fields', function(fields) {
console.log('this is fields');
});
query.on('result', function(row) {
var first = row.first_name;
var last = row.last_name;
res.render('index.jade', {
title: "My first name is " + first,
category: "My last …Run Code Online (Sandbox Code Playgroud) MySQL不会让我创建一个只有数字的数据库名称.它只在我添加字母时才有效.
如何在MySQL中创建仅使用数字的数据库名称?
CREATE DATABASE 2752054;