Vallheru: Bezpieczne modyfikacje

Mateusz Nowak
05.09.2015

Każdemu posiadaczowi gry opartej o silnik Vallheru na 100% nie chce się sprawdzać każdego moda pod względem bezpieczeństwa. Dlatego ja zastosowałem coś takiego [wkleić na początku moda (po $title = '...']

Kod php:


// ...
$title = '...';
// dane POST
$keys = array_keys($_POST);
for ($i = 0; $i < count($_POST); $i++) {
$_POST[$keys[$i]] = $db -> qstr($_POST[$keys[$i]], get_magic_quotes_gpc());
}
// dane GET
// tablica $pomin określa pomijane klucze
$keys = array_keys($_GET);
$pomin = array('action', 'view', 'step', 'step2');
for ($i = 0; $i < count($_GET); $i++) {
if (!in_array($keys[$i], $pomin)) {
$_GET[$keys[$i]] = $db -> qstr($_GET[$keys[$i]], get_magic_quotes_gpc());
}
}
// ...
?>


Krótki opis działania:

Kod będzie wykonywał funkcję qstr na każdych danych od usera. Dzięki temu nie musimy filtrować ich pojedynczo (np. gdy twórca moda o tym zapomniał). Tablica 'pomin' w danych GET służy do pomijania kluczy, których nie trzeba filtrować, ponieważ nie są wykorzystywane w zapytaniach (np. 'step').

Zgłoś swój pomysł na artykuł

Więcej w tym dziale Zobacz wszystkie