我使用AJAX的,我派人程序服務器的NodeJS的參數發送POST。在這個特定的情況下,用戶名和代碼。
這POST調用來request.GET中執行使用這兩個參數的過程的Web服務。
例如
app.post('url/:username/:code', function(req,res,next){
var procedure = 'EXECUTE procedureName'+req.params.code;
request.get('myWslink/myService.asmx/service?
callback=&userName='+req.params.username+'&procedureName='+procedure, function(){});
});
前端用戶無法看到我的web服務的URL,我的網址request.GET中或我的過程名,但他仍然可以看到正在發送的參數(用戶名,密碼) 他能改變這些參數使他能夠執行他不應該執行的程序。
他還可以調用一個POST請求一堆次,並用一堆垃圾填滿的數據庫,如果它是一個插入過程。
保護自己免受這些攻擊的最佳方法是什麼?
最好的辦法是不動態傳遞過程的名稱來執行。至少你應該使用一些加密來混淆。 –