Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] md5 i nazwy plików
julek12
post
Post #1





Grupa: Zarejestrowani
Postów: 97
Pomógł: 5
Dołączył: 6.02.2009
Skąd: Gorzów Wlkp.

Ostrzeżenie: (0%)
-----


Witam,
Mam takie pytanie. Ponieważ wszyscy mówią, że niebezpiecznie jest includować plik z GET'a, ale ja wpadłem na pomysł żeby nazwy plików były szyfrowane w md5 i GET także bez żadnych innych zabezpieczeń. Czy jest to dobre rozwiązanie czy niekoniecznie.
Go to the top of the page
+Quote Post
Agape
post
Post #2





Grupa: Zarejestrowani
Postów: 384
Pomógł: 13
Dołączył: 16.06.2006

Ostrzeżenie: (0%)
-----


Nie jestem expertem, ale myślę, że to genialne. Osoba nie będzie miała dostępu do "normalnych" plików, tylko tylko do tych których nazwa jest zmieniona przez MD5. Ale i tak chyba trzeba filtrować dane od użytkownika, żeby nie wstrzyknął kodu który wykona dodatkowo coś innego.
Go to the top of the page
+Quote Post
wookieb
post
Post #3





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




No to bedziesz miał cholernie przyjazne urle...
Jest wiele innych rozwiązań opartych np o modrewrite i proste filtrowanie danych w urlu. To nie jest takie trudne.
Go to the top of the page
+Quote Post
julek12
post
Post #4





Grupa: Zarejestrowani
Postów: 97
Pomógł: 5
Dołączył: 6.02.2009
Skąd: Gorzów Wlkp.

Ostrzeżenie: (0%)
-----


Ja myślałem o czymś takim:
kod strony....
  1. if (file_exists('./'.md5($_GET["adres"]).'.php'))
  2. {
  3. include('./'.md5($_GET["adres"]).'.php');
  4. }
  5. else
  6. {
  7. include('./cos.php');
  8. }

i mam normalnie index.php?adres=podstrona
albo moge zastosować mod_rewrite, ale co o tym sądzicie?

Ten post edytował julek12 21.11.2009, 08:51:13
Go to the top of the page
+Quote Post
skowron-line
post
Post #5





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


@julek12 słabe
  1. echo md5( 'plik.php' );

Kod
027e6723308699e906f39677430320b4

Według mnie to jest żadne zabezpieczenie tym bardziej że md5 został złamany i jak już to sha256.
Go to the top of the page
+Quote Post
piotr94
post
Post #6





Grupa: Zarejestrowani
Postów: 331
Pomógł: 30
Dołączył: 11.11.2008
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat(skowron-line @ 21.11.2009, 09:41:47 ) *
md5 został złamany

a skąd masz takie informacje?? mógłbyś podać źródło bo jest to ciekawe...
co do zabezpieczenia geta są 2 opcje:
1.
  1. $_GET['strona']=st_replace('..','_',$_GET['strona']);
  2. include('./katalog_ze_skryptami/'.$_GET['strona'].'.php');

tu zabezpieczenie polega na tym że wtedy unikasz zmiany katalogu na inny niż wskazany i dołączania plików poprzez http://
2.
  1. switch($_GET['strona']){
  2. case 'jakas_strona':
  3. include('./katalog_ze_stronami/jakas_strona.php');
  4. break;
  5. default:
  6. include('./katalog_ze_stronami/podana_strona_nie_jest_dozwolona.php');
  7. break;
  8. }

tu używasz switcha, który dopuszcza na includoiwanie tylko plików przez Ciebie dozwolonych, w przypadku próby oszukania systemu zostanie dołączony plik podany w warunku default:
można także użyć tablicy plików dozwolonych, czyli metoda 3:
  1. $dozwolone_strony = array('dozwolona_strona','dozwolona_strona2');
  2. if(in_array($_GET['strona'],$dozwolone_strony)){
  3. include('./katalog_ze_stronami/'.$_GET['strona'].'.php');
  4. }

osobiście polecam zawsze, dla zachowania porządku umieszczać wszystkie pliki do dołączenia w jednym katalogu, żeby na serwerze był porządek, czyli tak jak w przykładach /katalog_ze_stronami
a co do Twojej metody z md5, to trochę to zrobi bałaganu na serwerze z nazwami plików (po prostu przy 100 możliwych plikach do dołączenia odnalezienie właściwego będzie graniczyć z cudem), a są duuużo prostsze metody skutecznie zabezpieczające stronę, jak w moim poście przeczytałeś

Ten post edytował piotr94 21.11.2009, 10:26:44
Go to the top of the page
+Quote Post
julek12
post
Post #7





Grupa: Zarejestrowani
Postów: 97
Pomógł: 5
Dołączył: 6.02.2009
Skąd: Gorzów Wlkp.

Ostrzeżenie: (0%)
-----


To są tylko moje rozważania ja sam mam takie zabezpieczenie:
  1. <?php
  2. if (file_exists('./includes/szablon/podstrony/'.trim(strip_tags(basename($_GET["adres"]))).'.php'))
  3. {
  4. include('./includes/szablon/podstrony/'.trim(strip_tags(basename($_GET["adres"]))).'.php');
  5. }
  6. else
  7. {
  8. include('./includes/szablon/podstrony/news.php');
  9. }
  10. ?>
Go to the top of the page
+Quote Post
skowron-line
post
Post #8





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


Cytat(piotr94 @ 21.11.2009, 10:23:05 ) *
a skąd masz takie informacje?? mógłbyś podać źródło bo jest to ciekawe...

Się czyta prasę kolorową.
http://www.md5crack.com/crackmd5.php proszę bardzo hasło dla gógla to "md5 cracker"

Ten post edytował skowron-line 21.11.2009, 10:38:01
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 16:37