2017-11-25 4 views
-1

Ich habe ein VPS gehostet auf Softlayer. Irgendein Idiot ruft weiter einen API-Dienst über node.js Lasttest an, der fast 50 API-Anrufe/Sekunde macht.Jemand ruft meine API-Dienste über node.js laden Test

Es verlangsamt meinen Server. IP des Angreifers ist 35.193.63.213. Es ist selbst ein node.js api-Tester.

Jede Hilfe wäre

+0

Kontaktieren Sie den Hosting-Provider und melden Sie ihnen die IP, sie könnten es blockieren. –

+0

@ this.lau_ Ich habe sie kontaktiert. IP wurde auch blockiert, aber es ruft immer noch die API an. Was soll ich machen? – vitorio

Antwort

0

Wenn Ihr API soll nicht öffentlich sein, fügen Sie einfach CORS domänenübergreifende Beschränkung auf Ihre NodeJS App spürbar sein.

erste CORS-Modul installieren:

npm install cors 

dann zum Beispiel Express verwenden, CORS konfigurieren Sie den Zugriff zu ermöglichen, nur auf der gleichen Domäne, wo der Dienst gehostet wird oder der Domäne, die auf die API zugreifen angenommen hat.

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

var corsOptions = { 
    origin: 'http://example.com', 
    optionsSuccessStatus: 200 // some legacy browsers (IE11, various SmartTVs) choke on 204 
} 

app.get('/products/:id', cors(corsOptions), function (req, res, next) { 
    res.json({msg: 'This is CORS-enabled for only example.com.'}) 
}) 

app.listen(80, function() { 
    console.log('CORS-enabled web server listening on port 80') 
})