Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: Apsauga nuo SQL injection

Parašė Peacemaker· 2009 Sau. 4 12:01:26
#1

Internete radau apsaugą nuo SQL injection. Tinka V7 versijai.
Instaliacija:
Uploadinam'e protection.php failą į FTP pagrindinę direktorją.
Keičiame:
Atsidarome maincore.php,
rašome prieš ?> :

require_once("protection.php");

Į protection.php failą rašome:


<?php
$ip = $_SERVER['REMOTE_ADDR'];
$time = date("l dS of F Y h:i:s A");
$fp = fopen ("SQL_Injection.txt", "a+");

$sql_inject_1 = array(";","'","%",'"'); #Whoth need replace
$sql_inject_2 = array("", "","","&quot;"); #To wont replace
$GET_KEY = array_keys($_GET); #array keys from $_GET
$POST_KEY = array_keys($_POST); #array keys from $_POST
$COOKIE_KEY = array_keys($_COOKIE); #array keys from $_COOKIE
/*begin clear $_GET */
for($i=0;$i<count($GET_KEY);$i++)
{
$real_get[$i] = $_GET[$GET_KEY[$i]];
$_GET[$GET_KEY[$i]] = str_replace($sql_inject_1, $sql_inject_2, HtmlSpecialChars($_GET[$GET_KEY[$i]]));
  if($real_get[$i] != $_GET[$GET_KEY[$i]])
  {
  fwrite ($fp, "IP: $ip\r\n");
  fwrite ($fp, "Method: GET\r\n");
  fwrite ($fp, "Value: $real_get[$i]\r\n");
  fwrite ($fp, "Script: $script\r\n");
  fwrite ($fp, "Time: $time\r\n");
  fwrite ($fp, "==================================\r\n");
  }
}
/*end clear $_GET */
/*begin clear $_POST */
for($i=0;$i<count($POST_KEY);$i++)
{
$real_post[$i] = $_POST[$POST_KEY[$i]];
$_POST[$POST_KEY[$i]] = str_replace($sql_inject_1, $sql_inject_2, HtmlSpecialChars($_POST[$POST_KEY[$i]]));
  if($real_post[$i] != $_POST[$POST_KEY[$i]])
  {
  fwrite ($fp, "IP: $ip\r\n");
  fwrite ($fp, "Method: POST\r\n");
  fwrite ($fp, "Value: $real_post[$i]\r\n");
  fwrite ($fp, "Script: $script\r\n");
  fwrite ($fp, "Time: $time\r\n");
  fwrite ($fp, "==================================\r\n");
  }
}
/*end clear $_POST */
/*begin clear $_COOKIE */
for($i=0;$i<count($COOKIE_KEY);$i++)
{
$real_cookie[$i] = $_COOKIE[$COOKIE_KEY[$i]];
$_COOKIE[$COOKIE_KEY[$i]] = str_replace($sql_inject_1, $sql_inject_2, HtmlSpecialChars($_COOKIE[$COOKIE_KEY[$i]]));
  if($real_cookie[$i] != $_COOKIE[$COOKIE_KEY[$i]])
  {
  fwrite ($fp, "IP: $ip\r\n");
  fwrite ($fp, "Method: COOKIE\r\n");
  fwrite ($fp, "Value: $real_cookie[$i]\r\n");
  fwrite ($fp, "Script: $script\r\n");
  fwrite ($fp, "Time: $time\r\n");
  fwrite ($fp, "==================================\r\n");
  }
}

/*end clear $_COOKIE */
fclose ($fp);
?>



Parašė Dandžu· 2009 Sau. 4 12:01:52
#2

Šiaip vien pažvelgus į kodą aišku jog reikia sukurti failą SQL_Injection.txt

Parašė ---· 2009 Sau. 4 12:01:08
#3

o infusionu instaliavimui tai neturi itakos? Juk tada neisejs yrasyt

Parašė Peacemaker· 2009 Sau. 4 12:01:01
#4

Galbūt, nors instaliacijos aprašyme tai neminima.

Parašė tabux· 2009 Sau. 4 12:01:20
#5

Turi, nieko nebesuinstaliuosi. Yra daug kartų geresnė apsauga...

Parašė MAnjack· 2009 Sau. 4 12:01:00
#6

Kažkaip nepatiko jis man ?| Jau geriau savo kurtas.

Parašė Niger· 2009 Sau. 4 12:01:53
#7

tabux parašė:
Turi, nieko nebesuinstaliuosi. Yra daug kartų geresnė apsauga...


Jeigu puslapis koks warez`inis viska susitvarkius ir ant galo sita kiest ir viskas tikrai blogiau nebus.


O warezams nieko daud nereikia.

Parašė Bentley· 2010 Bal. 6 18:04:56
#8

nenorejau naujos temos kurt ,
Gotnix parašė:
o infusionu instaliavimui tai neturi itakos? Juk tada neisejs yrasyt

tai pasidarius sita dalyka neitu tik infusion instalint, ar dar iskilt kokiu nors problemu neit paneliu kurt ar pns?

---redaguota------
Pritariu geriau nenaudot, nes neina net istrint PM :D

Redagavo Bentley· 2010 Bal. 6 19:04:25

Parašė paz· 2010 Bal. 6 19:04:22
#9

Tam .txt faile gal log'us įrašinės, šiaip nebandžiau, bet tikriausiai panaudosiu.

Parašė webzlt· 2010 Bal. 6 19:04:23
#10

bet kaip redaguojant saita reik isimt apsauga, nes kitaip visus kodus nukenksmins :D

Parašė K-braun· 2010 Bal. 6 19:04:13
#11

MAnjack parašė:
Jau geriau savo kurtas.


Tai pasidalink. ;)

Parašė nbanba· 2010 Bal. 6 19:04:31
#12

K-braun parašė:
MAnjack parašė:
Jau geriau savo kurtas.


Tai pasidalink. ;)


Pasidalins gi tau jis :D