2013-09-11 2 views
2

В настоящее время я использую https://github.com/baugarten/node-restful wich helpme для работы в API, вопрос в том, что?Как защитить RestFul Api в Nodejs?

Я работаю в Express Framework, есть ли способ защитить запрос «GET» с другого сайта на мой.

Я использую CSRF из экспресс, но работаю только с помощью POST, PUT, DELETE методов с сообщением FOrbidden 403, когда вы делаете анион с curl в консоли, но если я сделаю завиток к методу Get curl localhost: 3000/posts что giveme массив со всеми сообщениями.

app.use(express.csrf()); 
    app.use(function(req, res, next){ 
     res.locals.token = req.session._csrf; 
     next(); 
    }); 
    app.use(app.router); 

Что вы мне посоветуете? есть ли другие модули для работы Api лучше? Как защитить Api в nodejs? Каковы лучшие практики, которые нужно изучать?

Спасибо, с помощью вашей справки.

ответ

2

Попробуйте промежуточное программное обеспечение Try, которое предназначено для этого. Например:

var express = require('express'); 
var app = express(); 

// simple middle ware to protect your URI 
app.use(function(req, res, next){ 
    if (req.method == 'GET') { 
    if (!req.locale.token) { res.send(403); } // custom to fit your policy 
    else if (req.protocol !== "https") {res.redirect("your-secure-url");} 
    else { next(); } 
    } 
}); 
+0

Хорошо Также я узнал, что api по вопросам безопасности будет работать под протоколом HTTPS, знаете ли вы какой-либо модуль, который позволит мне выполнить эту ситуацию ?. Спасибо –

+0

Я обновил свой ответ, добавив проверку 'req.protocol' – shawnzhu