Peršokti į turinį
Negalima prašyti ar platinti betkokių žaidimą (multiplayer) palengvinančių programų ir scriptų! Kitaip bus taikoma 1.21. taisyklė

Ką daro šis skriptas?


Sadekas

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3304 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

stock DB_Escape(text[]) {

new

ret[80 * 2],

ch,

i,

j;

while ((ch = text[i++]) && j < sizeof (ret))

{

if (ch == '\'')

{

if (j < sizeof (ret) - 2)

{

ret[j++] = '\'';

ret[j++] = '\'';

}

}

else if (j < sizeof (ret))

{

ret[j++] = ch;

}

else

{

j++;

}

}

ret[sizeof (ret) - 1] = '\0';

return ret;

}

Nuoroda į komentarą
Dalintis per kitą puslapį

Na ką, galima parašyti ir naudingą pranešimą.

 

Kodas "escapina" kabutes, tiek viengubas tiek dvigubas. Kaip sako pavadinimas, "DB_..." ji skirta duomenų bazėj, ir tikrai SQL užklausos gali būti "injectinamos". Nežinau kodėl tam yra atskira funkcija, dauguma plugin prideda tam skirtą funkciją.

 

 

Pavyzdys:

public OnPlayerText(playerid, text[])
{
   new query[];
   GetPlayerName(playerid, query, sizeof(query));
   mysql_format(connection_handle, "INSERT INTO chat_log (player_name, text) VALUES ('%s', '%s')", query, text);
   mysql_pquery(connection_handle, query);
}

Tarkime žaidėjas įveda tekstą " '; DELETE FROM players; -- ' " Ši suformatuota užklausa atrodytų taip:

INSERT INTO chat_log (player_name, text) VALUES ('Bebras', ''; DELETE FROM players; -- '')

Taigi, bus įvykdytos dvi užklausos... Kitaip tariant, žaidėjas gali vykdyti užklausas! O tai yra labai pavojinga. Daugiau info gali rasti googlindamas "SQL injection".

Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3304 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...