Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/06/2016, 11:39
pedro90912
 
Fecha de Ingreso: septiembre-2015
Mensajes: 6
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Problema de seguridad

Cita:
Iniciado por leugimsiul Ver Mensaje
Por javascript no creo que vayas a poder. Lo normal sería que en servidor comprobaras si ya le has dado esos coins a ese usuario en un intervalo de tiempo muy corto, y si es así no volver a dárselo.
Creo que ya lo he arreglado con este codigo, el unico problema es que si lo hacen a la vez desde dos ips diferentes si pueden hacerlo, pero no estoy seguro :s
Código HTML:
var ips = {};
app.get('/checkTrade/', function (req, res) {
     if(ips[req.connection.remoteAddress]+15 >= time()) {
      return;
     } else {
      ips[req.connection.remoteAddress] = time();
     }
	var tid = req.query['tid'];
	offers.getOffer({
		tradeofferid: tid
	}, function(err, trade) {
		if(err) {
			logger.error('Error checking trade');
			logger.debug(err);
			res.json({
				success: false,
				error: err.toString()
			});
		} else {
			logger.debug(trade);
			if(trade.response.offer.trade_offer_state == 3) {
				res.json({
					success: true,
					action: 'accept',
					result: 'Coins have been added to your balance'
				});
			} else if(trade.response.offer.trade_offer_state == 7) {
				res.json({
					success: true,
					result: 'You are declined trade',
					action: 'cross'
				});
			} else {
				res.json({
					success: false,
					error: 'You are not accept trade'
				});
			}
		}
	});
});