Jump to content

Recommended Posts

Posted
1 minute ago, Kiran said:

arata-ne liniile cu report

Adica? cmd u report? nu am ce sa arat, e un report ca pe celelalte servere, vreau un cmd de restrict pe cuvinte %+s

Posted (edited)

Nu poti face un cmd impotriva acestui bug trebuie sa faci un mic sistem ca acesta care sa opreasca acest flood direct. 

Adauga la inceputu-l gamemodului (dupa includuri):

static const antisqlinjection[][] =
{
     "'",
     "`",
     "%s",      //Daca mai dai de alte semne care pot pica serveru-l mai adauga aici
     "%d",
     "%f",
     "#",                                                                                                                                                                                                   "\"
};

Dupaia baga asta la:OnDialogResponse (iti recomand s-o bagi sus de tot dupa paranteza)

for(new i; i < sizeof(antisqlinjection); i++)
    {
        if(strfind(inputtext, antisqlinjection, true) != -1)
    {
        SCM(playerid, -1, "Pune un text aici pe care jucatoru-l sa-l primeasca cand foloseste comanda..");
        return 1;
      }
    }

Edited by MegaZ775
Posted
36 minutes ago, MegaZ775 said:

Nu poti face un cmd impotriva acestui bug trebuie sa faci un mic sistem ca acesta care sa opreasca acest flood direct. 

Adauga la inceputu-l gamemodului (dupa includuri):

static const antisqlinjection[][] =
{
     "'",
     "`",
     "%s",      //Daca mai dai de alte semne care pot pica serveru-l mai adauga aici
     "%d",
     "%f",
     "#",                                                                                                                                                                                                   "\"
};

Dupaia baga asta la:OnDialogResponse (iti recomand s-o bagi sus de tot dupa paranteza)

for(new i; i < sizeof(antisqlinjection); i++)
    {
        if(strfind(inputtext, antisqlinjection, true) != -1)
    {
        SCM(playerid, -1, "Pune un text aici pe care jucatoru-l sa-l primeasca cand foloseste comanda..");
        return 1;
      }
    }

ba imi da pawn complier has stopped working ba imi da erori.

 

Posted

ATENTIE:Cel mai probabil e de aici static const antisqlinjection[][] = desparte parantezele sau da copy la asta si pune-o peste cealalta 

static const antisqlinjection [] [] =

1.Incearca fara "\" de la inceput

2.Uitate daca ai pus primele parti adica static const antisqlinjection [] [] =
{
     "'",
     "`",
     "%s",      /
     "%d",
     "%f",
     "#",...etc  sub includeuri

3.Uitate daca ai pus a doua parte corect la OnDialogResponse daca ai pus corect si chiar acolo dupa prima paranteza de la dialog mai precis asta {

4.Pune new string[1000];  dupa acea paranteza de la 3.

5.Uita-te daca ai copiat totu-l corect.

 

Posted
11 minutes ago, MegaZ775 said:

ATENTIE:Cel mai probabil e de aici static const antisqlinjection[][] = desparte parantezele sau da copy la asta si pune-o peste cealalta 

static const antisqlinjection [] [] =

1.Incearca fara "\" de la inceput

2.Uitate daca ai pus primele parti adica static const antisqlinjection [] [] =
{
     "'",
     "`",
     "%s",      /
     "%d",
     "%f",
     "#",...etc  sub includeuri

3.Uitate daca ai pus a doua parte corect la OnDialogResponse daca ai pus corect si chiar acolo dupa prima paranteza de la dialog mai precis asta {

4.Pune new string[1000];  dupa acea paranteza de la 3.

5.Uita-te daca ai copiat totu-l corect.

 

Daca poti punem toate comenzile bune intr-un pastebin, ca nu se copiaza bine.

Posted (edited)

Nu ai nevoie de chestia aia total inutila si prost facuta

new input[128];
	strcat(input, inputtext);

	for (new i = 0; input[i] != EOS; i++) {
	    if (input[i] != '%') {
			continue;
		}

		input[i] = '#';
	}

Daca pui asta sun public OnDialogResponse esti numa bine. 

Edit: Aceasi chestie poate fi aplicata la comenzi(desi la comenzi e indicat sa folosesti mysql_format cu %e in loc de %s) .Comenzile nu pica de la %s totusi

Edit2: Daca vrei sa te feresti de sql injection trebuie sa iti faci escape oriunde playerul poate insera text si poti face asta cu mysql_real_escape_string sau cu varianta din primul edit la acest reply

Edited by Banditul
Posted
6 minutes ago, Banditul said:

Nu ai nevoie de chestia aia total inutila si prost facuta


new input[128];
	strcat(input, inputtext);

	for (new i = 0; input[i] != EOS; i++) {
	    if (input[i] != '%') {
			continue;
		}

		input[i] = '#';
	}

Daca pui asta sun public OnDialogResponse esti numa bine. 

O sa incerc, iti dau feedback daca merge

Posted

{   

 if(strfind(inputtext, "%", true) != -1)
{
    SendClientMessage(playerid, COLOR_GENANNOUNCE, "SERVER: Sistem anti-flood by FeVosFeR");
    ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_INPUT, "Sistem anti-flood", "Sistem anti-flood", "OK", "Exit");
    return 1;
}

 

Tot la OnDialogResponse

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.