Filter bad words from claim address display name

-Also fix claim address success msg when 'Display Name' contains script tags
This commit is contained in:
joeuhren
2020-12-22 18:06:40 -07:00
parent 82efa96954
commit 2d734b9f00
3 changed files with 31 additions and 13 deletions
+24 -10
View File
@@ -280,16 +280,30 @@ app.use('/ext/getaddresstxs/:address/:start/:length', function(req,res) {
});
app.post('/address/:hash/claim', function(req, res) {
lib.verify_message(req.body.address, req.body.signature, req.body.message, function(body) {
if (body == false) {
res.json({'status': 'failed', 'error': true, 'message': 'Invalid signature'});
} else if (body == true) {
db.update_label(req.body.address, req.body.message, function() {
res.json({'status': 'success'});
});
} else
res.json({'status': 'failed', 'error': true, 'message': 'There was an error. Check your console.'});
});
// initialize the bad-words filter
var bad_word_lib = require('bad-words');
var bad_word_filter = new bad_word_lib();
// clean the message (Display name) of bad words
var message = bad_word_filter.clean(req.body.message);
// check if the message was filtered
if (message == req.body.message) {
// call the verifymessage api
lib.verify_message(req.body.address, req.body.signature, req.body.message, function(body) {
if (body == false) {
res.json({'status': 'failed', 'error': true, 'message': 'Invalid signature'});
} else if (body == true) {
db.update_label(req.body.address, req.body.message, function() {
res.json({'status': 'success'});
});
} else
res.json({'status': 'failed', 'error': true, 'message': 'There was an error. Check your console'});
});
} else {
// message was filtered which would change the signature
res.json({'status': 'failed', 'error': true, 'message': 'Display name contains bad words and cannot be saved: ' + message});
}
});
app.use('/ext/connections', function(req,res){