Sigurnost php koda

Početnik sam u php-u.Da li neko može da mi kaže sta bi promijenio u mom kodu.Skripta radi ali ne znam koliko je sigurna i koliko je dobrao osmisljenja.Da li se moze nesto uraditi da se ona brze izvrsi?
`


Kod:

  1. <?php
  2. session_start();
  3. if(isset($_SESSION[‘id’]))
  4. {
  5. }
  6. else
  7. {
  8. header(‘Location:…/admin.php’);
  9. return;
  10. }
  11. include ‘…/php/admin-connect.php’;
  12. $marka = mysql_real_escape_string($_POST[‘marka’]);
  13. $query = “SELECT * FROM marka”;
  14. $result = mysql_query($query) or die(mysql_error());
  15. while($row = mysql_fetch_assoc($result)) {
  16. if($marka == $row['marka'])
    
  17. {
    
  18.   echo 'Marka je već dodata,ne možete je dodati ponovo';
    
  19.   return;
    
  20. }
    
  21. }
  22. $sql = "INSERT INTO marka ". "(marka) ". “VALUES(’$marka’)”;;
  23. mysql_select_db(‘marka’);
  24. $retval = mysql_query( $sql, $conn );
  25. if(! $retval )
  26. {
  27.   die('Nije moguće dodati marku:gresa:  ' . mysql_error());
    
  28. }
  29. echo “Uspjesno ste marku\n”;
  30. ?>

`

Ja bi ove sql upite sta idu sa insert update delete radio u proceduri a ovo citanje iz baze mozes il u proceduri il u pogledima

Ovo bas i nema veze sa sigurnoscu al sa performansama ima

Zamjeni
$query = "SELECT * FROM marka"; $result = mysql_query($query) or die(mysql_error()); while($row = mysql_fetch_assoc($result)) { if($marka == $row['marka']) { echo 'Marka je već dodata,ne možete je dodati ponovo'; return; } }

sa

$query = "SELECT * FROM marka WHERE marka = ".$marka; $result = mysql_query($query) or die(mysql_error()); if(mysql_num_rows($query) > 0) { echo 'Marka je već dodata,ne možete je dodati ponovo'; return; }

Nadam se da ovo radis samo na svom lokalnom webserveru, i da nece vidit interneta. Ok je ako si pocetnik, svak triba negdi krenit, ali, da se zadrzim samo na sigurnosti, ovo blago receno nije sigurna skripta.
Koristis deprecateanu mysql extenziju (vidi mysqli), i sama cinjenica da je setana session varijabla nije nikakva provjera.

Tutorijal prema kojem si radio ovo zaboravi, i blacklistaj cilu domenu na kojoj se tutorial nalazio da se nikad vise ne vratis tamo. Nakon toga limitiraj google rezultate pretrage na cca zadnjih godinu dana jer je internet jednostavno prepun losih i zastarjelih tutoriala.

Mene bi više zanimalo kako razbiti (provaliti) na stranice koje imaju ovakav code, odnosno, kako možeš iskoristiti stranice koje imaju ovakav code.
Tek tada se može vidjeti koliko je ovaj gore code siguran, odnosno nesiguran.


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Profit Monkey