Manualai.lt Forumas
		PHP ir SQL => PHP ir SQL - Klausimai ir pagalba => Temą pradėjo: carton  2014-12-24 18:57:05 pm
		
			
			- 
				Sveiki,taigi norėčiau pasidalinti savo kodų ir paklausti ar yra jis saugus ar reikia jame kažka keisti.
 
 <?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=');
 }
 ?>
 
- 
				Ne. SQL injekcija. 
 http://www.phptherightway.com/ (http://www.phptherightway.com/)
 https://cert.litnet.lt/lt/dokumentai/pagrindiniai-web-sistemu-pazeidziamumai-ir-saugos-budai/ (https://cert.litnet.lt/lt/dokumentai/pagrindiniai-web-sistemu-pazeidziamumai-ir-saugos-budai/)
 http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers (http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers)
- 
				geriau vietoje mysql_ funkciju naudok pdo arba koki nors orm'a. google it.