Follow along with the video below to see how to install our site as a web app on your home screen.
Бележка: This feature may not be available in some browsers.
session_start();
function zashtita($tekst)
{
if ( (int)$tekst )
return $tekst;
else
{
$tekst = addslashes($tekst);
$tekst = htmlspecialchars($tekst, ENT_NOQUOTES);
return $tekst;
}
}
$_GET = array_map("zashtita", $_GET);
$_POST = array_map("zashtita", $_POST);
$_SESSION = array_map("zashtita", $_SESSION);
$_COOKIE = array_map("zashtita", $_COOKIE);
$_SERVER = array_map("zashtita", $_SERVER);
Като му казваш да го сложи, поне му кажи и за какво се слага.DeathGuard_ каза:Пред array-овете може да сложиш @
session_start();
function zashtita($tekst)
{
if ( (int)$tekst )
return $tekst;
else
{
$tekst = addslashes($tekst);
$tekst = htmlspecialchars($tekst, ENT_NOQUOTES);
return $tekst;
}
}
$_GET = @array_map("zashtita", $_GET);
$_POST = @array_map("zashtita", $_POST);
$_SESSION = @array_map("zashtita", $_SESSION);
$_COOKIE = @array_map("zashtita", $_COOKIE);
$_SERVER = @array_map("zashtita", $_SERVER);
Може ли да попитам в кой файл се слага ..DevNull каза:session_start();
function zashtita($tekst)
{
if ( (int)$tekst )
return $tekst;
else
{
$tekst = addslashes($tekst);
$tekst = htmlspecialchars($tekst, ENT_NOQUOTES);
return $tekst;
}
}
$_GET = @array_map("zashtita", $_GET);
$_POST = @array_map("zashtita", $_POST);
$_SESSION = @array_map("zashtita", $_SESSION);
$_COOKIE = @array_map("zashtita", $_COOKIE);
$_SERVER = @array_map("zashtita", $_SERVER);
Това е напълно достатъчно..terorr каза:Такам мерси други защити ?
DevNull каза:session_start();
function zashtita($tekst)
{
if ( (int)$tekst )
return $tekst;
else
{
$tekst = addslashes($tekst);
$tekst = htmlspecialchars($tekst, ENT_NOQUOTES);
return $tekst;
}
}
$_GET = @array_map("zashtita", $_GET);
$_POST = @array_map("zashtita", $_POST);
$_SESSION = @array_map("zashtita", $_SESSION);
$_COOKIE = @array_map("zashtita", $_COOKIE);
$_SERVER = @array_map("zashtita", $_SERVER);
Даvankich каза:DevNull каза:session_start();
function zashtita($tekst)
{
if ( (int)$tekst )
return $tekst;
else
{
$tekst = addslashes($tekst);
$tekst = htmlspecialchars($tekst, ENT_NOQUOTES);
return $tekst;
}
}
$_GET = @array_map("zashtita", $_GET);
$_POST = @array_map("zashtita", $_POST);
$_SESSION = @array_map("zashtita", $_SESSION);
$_COOKIE = @array_map("zashtita", $_COOKIE);
$_SERVER = @array_map("zashtita", $_SERVER);
И аз да задам едно въпросче към темата. След като този код е в config.php няма да ми се налага да слагам addslashes и htmlspecialchars на всяка GET/POST/SESSION... така ли?
Не, това му е целта...vankich каза:DevNull каза:session_start();
function zashtita($tekst)
{
if ( (int)$tekst )
return $tekst;
else
{
$tekst = addslashes($tekst);
$tekst = htmlspecialchars($tekst, ENT_NOQUOTES);
return $tekst;
}
}
$_GET = @array_map("zashtita", $_GET);
$_POST = @array_map("zashtita", $_POST);
$_SESSION = @array_map("zashtita", $_SESSION);
$_COOKIE = @array_map("zashtita", $_COOKIE);
$_SERVER = @array_map("zashtita", $_SERVER);
И аз да задам едно въпросче към темата. След като този код е в config.php няма да ми се налага да слагам addslashes и htmlspecialchars на всяка GET/POST/SESSION... така ли?
Ако можеш да ми кажеш как става ?FestarBG каза:Днес су играх в един сайт ор рода на hts, и стигнах го следната sql инжекция:
http://********.com/index.php?id=1+union+select+null,null,null,concat(username,0x3a,password),null--
Дори и след addslashes() и htmlspecialchars() горната заявка е все още валидна.Аз бих ти препоръчал да проверяваш всеки низ,който използваш в заявките ти да го проверяваш да не съдържа следните думи:
union,select,or и т.н.
![]()
ако УРЛ-то е http://site.com/site.php?id=1+select и т.н няма да стане нищо<?php
$get = $_GET['id'];
if(preg_match("/union/i",$get,$bb) OR preg_match("/select/i",$get,$bb) OR preg_match("/or/i",$get,$bb) OR preg_match("/-/i",$get,$bb)){
echo "Благодарим Ви!Ще предадем на НСБОБ";
$sleep = sleep(15);
if($sleep == true) {
echo "Ооопс пренатоварихме се ,изчакайте няколко секунди";
}
die();
exit(); // да се подсигурим ....
}
?>
lam3r4370 каза:Ето как става:
ако УРЛ-то е http://site.com/site.php?id=1+select и т.н няма да стане нищо<?php
$get = $_GET['id'];
if(preg_match("/union/i",$get,$bb) OR preg_match("/select/i",$get,$bb) OR preg_match("/or/i",$get,$bb) OR preg_match("/-/i",$get,$bb)){
echo "Благодарим Ви!Ще предадем на НСБОБ";
$sleep = sleep(15);
if($sleep == true) {
echo "Ооопс пренатоварихме се ,изчакайте няколко секунди";
}
die();
exit(); // да се подсигурим ....
}
?>
Ще провериш дали $променлива е истински файлproba каза:не , пак си ги слагай , но така имаш 1 клас по-добра сигурност. също ако имаш система за качване на снимки/файлове по добре проверявай форматите на файловете който се качват , и направи така че да ги преименува , за да е по-сигурно..
също така като имаш някаде
примерно
index.php?page=home
ако си го направил така:
$променлива=$_GET['page'];
include_once "$променлива.php"; // или нещо такова
по-добре го махни защото има начини и така да се хакне ;]