Jump to content
php.lv forumi

Mr.Key

Reģistrētie lietotāji
  • Posts

    1,332
  • Joined

  • Last visited

Community Answers

  1. Mr.Key's post in MySql injekcija was marked as the answer   
    daGrevja piemērs ir reālākais variants. Injekcijas notiek tad, ja nevalidē datus. Pašsaprotami, ka visus datus, kas nāk no nedrošiem avotiem, ir jāvalidē. Visi dati, kas nāk no interneta, ir nedroši. Arī tie, kas nāk caur hidden laukiem, JS/Ajax, Flash, kurus normāls lietotājs neredz, bet prasmīgs lietotājs var viegli pamainīt.
     
    $userId = (int) $_POST['user_id'];
     
    un visādi tur OR i pazudīs. Protams, vēl jāpārbauda, vai POST mainīgais eksistē un vai attiecīgo user_id ir tiesības dzēst. Bet, ja rīkojas šādi:
     
    $sql = 'DELETE FROM users WHERE user_id = ' . $_POST['user_id'];
     
    tad pazudīs datubāzes ieraksti, pazudīs arī reputācija, arī darbs... tad viss pazudīs!
     
    Tekstu gadījumā, protams, escape string. Elementāri! Un nekādā gadījumā risinājums nav kaut kas vairāk par iesācēja izmēģinājuma kodu, ja tas neļauj meklēt un atrast, piemēram, «SIA "Traktors"».
     
    Starp citu, ` un ' ir atšķirīgas lietas.
×
×
  • Create New...