PHP ir SQL > PHP ir SQL - Klausimai ir pagalba

Dėl saugumo ar kodas yra saugus.

(1/1)

carton:
Sveiki,taigi norėčiau pasidalinti savo kodų ir paklausti ar yra jis saugus ar reikia jame kažka keisti.


--- Kodas: ---<?php
elseif($i == "bankas"){
    online('Bankas');
    echo '<div class="top">Bankas</div>';
    echo '<div class="main_c">Bankas - Čia jūs galite pasidėti zen\'us ir kreditus, čia zen\'ai ir kreditai bus saugus kai jus užpuls jų neprarasite.</div>
    <div class="main">'.$ico.' Banke yra <b>'.sk($apie['b_kreditu']).'</b> kreditų, <b>'.sk($apie['b_zenu']).'</b> zen\'ų, <b>'.sk($apie['b_sms_litu']).'</b> litų.</div>';
    if(isset($_POST['submit'])){
        $kiek = isset($_POST['kiek']) ? preg_replace("/[^0-9]/","",$_POST['kiek']) : null;
        $kas = post($_POST['kas']);

        if($kas == "litai"){
            $ka = "Zen'ų";
            $ko = "b_zenu";
        }
        if($kas == "kred"){
            $ka = "Kreditų";
            $ko = "b_kreditu";
        }
        if($kas == "sms_litai"){
            $ka = "Litų";
            $ko = "b_sms_litu";
        }
        if(empty($kas)){
            $klaida = "Nepasirinkai ką padėsi.";
        }

        if($kiek > $apie[$kas]){
            $klaida = "Neturi tiek $ka.";
        }
        if(empty($kiek)){
            $klaida = "Neįrašei kiek padėsi.";
        }
        if (preg_match("/[^0-9]/", $kiek)){
            $klaida = "Rašyti galima tik skaičius.";
        }
        if ($klaida != ""){
            echo '<div class="main_c"><div class="error">'.$klaida.'</div></div>';
        } else {
            mysql_query("UPDATE zaidejai SET $kas=$kas-'$kiek', $ko=$ko+'$kiek' WHERE nick='$nick' ");
            echo '<div class="main_c"><div class="true">Atlikta, į banka padėjai <b>'.sk($kiek).'</b> '.$ka.'.</div></div>';
        }
    }
    if(isset($_POST['submit2'])){
        $kiek = isset($_POST['kiek']) ? preg_replace("/[^0-9]/","",$_POST['kiek']) : null;
        $kas = post($_POST['kas']);

        if($kas == "b_zenu"){
            $ka = "Zen'ų";
            $ko = "litai";
        }
        if($kas == "b_kreditu"){
            $ka = "Kreditų";
            $ko = "kred";
        }
        if($kas == "b_sms_litu"){
            $ka = "Litų";
            $ko = "sms_litai";
        }
        if(empty($kas)){
            $klaida = "Nepasirinkai ką pasiimsi.";
        }
        if(empty($kiek)){
            $klaida = "Neįrašei kiek paiimsi.";
        }
        if($kiek > $apie[$kas]){
            $klaida = "Neturi banke tiek $ka.";
        }
        if (preg_match("/[^0-9]/", $kiek)){
            $klaida = "Rašyti galima tik skaičius.";
        }
        if ($klaida != ""){
            echo '<div class="main_c"><div class="error">'.$klaida.'</div></div>';
        } else {
            mysql_query("UPDATE zaidejai SET $kas=$kas-'$kiek', $ko=$ko+'$kiek' WHERE nick='$nick' ");
            echo '<div class="main_c"><div class="true">Atlikta, iš banko pasiėmei <b>'.sk($kiek).'</b> '.$ka.'.</div></div>';
        }
    }
    echo '<div class="main">
    <form action="?i=bankas" method="post">
    Kiek padėsi:<br/>
    <input type="text" name="kiek" maxlength="100"/><br>
    Ką padėsi:<br/>
    <select name="kas" value="padeti">
    <option value="litai">Zen\'us: <b>'.sk($apie['litai']).'</b> </option>
    <option value="kred">Kreditus: <b>'.sk($apie['kred']).'</b></option>
    <option value="sms_litai">Litus: <b>'.sk($apie['sms_litai']).'</b></option><br/>
    </select><br/>
    <input type="submit" name="submit" class="submit" value="Padėti"></form>
    </div><div class="main">
    <form action="?i=bankas" method="post">
    Kiek pasiimsi:<br/>
    <input type="text" name="kiek" maxlength="100"/><br>
    Ką pasiimsi<br/>
    <select name="kas" value="pasiimti">
    <option value="b_zenu">Zen\'us: <b>'.sk($apie['b_zenu']).'</b> </option>
    <option value="b_kreditu">Kreditus: <b>'.sk($apie['b_kreditu']).'</b></option>
    <option value="b_sms_litu">Litus: <b>'.sk($apie['b_sms_litu']).'</b></option><br/>
    </select><br/>
    <input type="submit" name="submit2" class="submit" value="Pasiimti"></form>
    </div>';
    atgal('Atgal-miestas.php?i=&Į Pradžią-game.php?i=');
}
?>

--- Baigti kodą ---

justinas:
Ne. SQL injekcija.
http://www.phptherightway.com/
https://cert.litnet.lt/lt/dokumentai/pagrindiniai-web-sistemu-pazeidziamumai-ir-saugos-budai/
http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers

Lukas:
geriau vietoje mysql_ funkciju naudok pdo arba koki nors orm'a. google it.

Navigacija

[0] Žinučių sąrašas

Eiti į pilną versiją