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("", "","","""); #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