Bezpieczeństwo skryptu |
Bezpieczeństwo skryptu |
21.06.2008, 21:59:34
Post
#1
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 2 Dołączył: 16.02.2008 Ostrzeżenie: (0%) |
W jakim stopniu ten skrypt jest bezpieczny, jeśli zawiera błędy to jak go poprawić ?
Kod <?php
if ($_GET['page'] && file_exists('pages/' . $_GET['page'] . '.php') && strpos($_GET['page'], '../') === false) { include 'pages/' . $_GET['page'] . '.php'; } else { echo ('Taka strona nie istnieje'); } ?> Ten post edytował morphi99 22.06.2008, 08:56:39 |
|
|
21.06.2008, 23:09:29
Post
#2
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 26 Dołączył: 29.02.2008 Ostrzeżenie: (0%) |
|
|
|
22.06.2008, 09:06:02
Post
#3
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 2 Dołączył: 16.02.2008 Ostrzeżenie: (0%) |
A czym różnił by się ten zapis:
Kod $_GET['page'] od takiego zapisu: Kod $_GET[page]
|
|
|
22.06.2008, 09:31:49
Post
#4
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 18.12.2006 Ostrzeżenie: (0%) |
Ja na niektórych serwisach mam takie zabezpieczenie.
Ten post edytował batman 22.06.2008, 13:27:05
Powód edycji: dodałem bbcode
|
|
|
22.06.2008, 09:43:16
Post
#5
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 19 Dołączył: 12.09.2005 Ostrzeżenie: (0%) |
Ja na niektórych serwisach mam takie zabezpieczenie.
jak juz dajesz jakis kod php daj go w znaczniki Ten post edytował batman 22.06.2008, 13:27:51
Powód edycji: a Ty używaj przycisku raportuj, a nie baw się w moderatora
|
|
|
22.06.2008, 11:17:41
Post
#6
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 26 Dołączył: 29.02.2008 Ostrzeżenie: (0%) |
admin22 - na bezpieczny to on nie wygląda, korzystasz z register_globals i brak zabezpieczenia przed directory transversal. Polecam zapoznać się z tablicami superglobalnymi($_GET, $_POST etc.) oraz z funkcją basename.
morphi99 - ten drugi zapis to raczej jest przestarzały i nie używany |
|
|
22.06.2008, 12:15:32
Post
#7
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) |
to jak każdy daje coś od siebie to ja też dam ;-)
http://www.beldzio.com/bezpieczenstwo-dost...do-plikow.freez -------------------- |
|
|
22.06.2008, 21:20:53
Post
#8
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław |
A czym różnił by się ten zapis: Kod $_GET['page'] od takiego zapisu: Kod $_GET[page] Pierwsza linia oznacza odwołanie do indeksu page w tablicy $_GET Druga linia oznacza odwołanie do indeksu w tablicy $_GET, którego wartość znajduje się w stałej page. Drugi zapis spowoduje wygenerowanie E_WARNING (bądź E_NOTICE, nie pamiętam w tej chwili) zawsze, gdy stała page jest niezdefiniowana. Niestety PHP nie traktuje tego jako błędu krytycznego i uznaje wartość niezdefiniowanej zmiennej jako równa jej nazwie (czyli po wygenerowaniu powyższego błędu symuluje takie działanie: i kontynuuje działanie. Jeśłi masz obniżony poziom raportowania błędów, nawet tego nie zauważysz - ale jest to jeden z podstawowych błędów początkujących programistów. -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 24.04.2024 - 10:59 |