28.10.2015, 12:44
Esta й a mesma soluзгo proposta pelo Day_ porйm incorporei no cуdigo inicial publicado por vocк. Recomendo urgentemente vocк tratar os dados enviados via query!
O SEU CУDIGO ME PARECE SER VULNERБVEL A SQL INJECTION... NГO SEI SE ESTA INCLUDE QUE VOCК USA JБ TRATA OS DADOS.
O SEU CУDIGO ME PARECE SER VULNERБVEL A SQL INJECTION... NГO SEI SE ESTA INCLUDE QUE VOCК USA JБ TRATA OS DADOS.
pawn Код:
case dREGISTER:
{
if(!response) { SendClientMessage(playerid, 1, ""rRED"SERVER: Vocк foi expulso automaticamente."); return Kick(playerid); }
else
{
if(strlen(inputtext) < 1 || strlen(inputtext) > 20) { ShowPlayerDialog(playerid, dREGISTER, DIALOG_STYLE_INPUT, ""rBLUE"REGISTRO", ""rWRITE"Bem Vindo ao \nVocк pode "rRED"registrar"rWRITE" uma conta, digitando uma senha desejada aqui:", ""rWRITE"Registrar", ""rWRITE"Sair"); }
else
{
new query[200];
format(query, sizeof(query), "INSERT INTO `users` (`username`, `userpass`, `usermail`, `score`, `money`) VALUES ('%s', '%s', '0', '0', '0')", ReturnName(playerid), inputtext);
mysql_function_query(MysqlConnect, query, true, "OnPlayerInterMail", "ds", playerid);
}
}
}
function OnPlayerInterMail(playerid)
{
ShowPlayerDialog(playerid, dMAIL, DIALOG_STYLE_INPUT, ""rBLUE"E-MAIL", ""rWRITE"Inisira um e-mail vбlido, para o caso de precisar recuperar sua senha!", ""rWRITE"Inserir", ""rWRITE"Sair");
return 1;
}
case dMAIL:
{
if(response)
{
if(strlen(inputtext) < 1 || strlen(inputtext) > 80) { ShowPlayerDialog(playerid, dMAIL, DIALOG_STYLE_INPUT, ""rBLUE"E-MAIL", ""rWRITE"Inisira um e-mail vбlido, para o caso de precisar recuperar sua senha!", ""rWRITE"Inserir", ""rWRITE"Sair"); }
else
{
new query[200];
format(query, sizeof(query), "UPDATE `users` SET usermail = '%s' WHERE `username` = '%s'", inputtext, ReturnName(playerid));
mysql_function_query(MysqlConnect, query, true, "OnPlayerRegistered", "ds", playerid);
}
}
}