ďťż

[PHP] pliki tekstowe a ważne informacje

       

Podstrony


telcocafe

Jeżeli nie mam dostępu do bazy danych to trzymanie takich informacji jak hasła, adresy e-mail innych osób lub adres ip w plikach tekstowych jest bezpieczne?



Nie. Można łatwo się dostać do tego pliku i odczytać zawartość.
//Lepiej użyj bazy danych...
Użytkownik pbnan edytował ten post 29 czerwiec 2007, 14:55
ewentualnie możesz przechowywać informacje w specjalnie spreparowanych plikach php

np:
<?die();?> tajna informacja

taki plik będzie można odczytać tylko innym skryptem lub za pomoca ftp ;)

/edit:
albo wrzucić wszystkie pliki tekstowe do jakiegoś folderu z plikiem .htaccess + deny all
Użytkownik tsukuyomi_reload edytował ten post 29 czerwiec 2007, 15:07

ewentualnie możesz przechowywać informacje w specjalnie spreparowanych plikach php

np:
<?die();?> tajna informacja

taki plik będzie można odczytać tylko innym skryptem lub za pomoca ftp ;)

/edit:
albo wrzucić wszystkie pliki tekstowe do jakiegoś folderu z plikiem .htaccess + deny all

Odnośnie skryptu PHP: w takim przypadku nie zadziała dołączanie, niestety... Trzeba by użyć file_get_contents i odpowiednio obrobić :|

Odnośnie .htaccess: to nie podziała także na nasz skrypt? To znaczy: czy my przy deny all będziemy mogli z poziomu skryptu odczytywać informacje z tego pliku?

@down:

heh ? nie wiem o co Ci chodzi. O inkludowanie :)
Zresztą już wyjaśniłeś :)


no może trzeba będzie pozwolić 127.0.0.1, albo pozmieniać chmod wszystkich plików tekstowych, ale zadziała (przynajmniej na moim Krasnalu działało)
Hmmm, chmod dla other -r nie powinien działać, bo chyba skrypt jest także zaliczany do other... I wtedy nie powinien móc czytać...
Użytkownik pbnan edytował ten post 29 czerwiec 2007, 16:23



Odnośnie skryptu PHP: w takim przypadku nie zadziała dołączanie, niestety... Trzeba by użyć file_get_contents i odpowiednio obrobić :|

heh ? nie wiem o co Ci chodzi.
mając plik np:
<?die();?>user:haslo
zeby odczytac same tajne dane, wystarczy odczytac jego zawartosc i usunac pierwsze 10 znaków ("<?die();?>")


Odnośnie .htaccess: to nie podziała także na nasz skrypt? To znaczy: czy my przy deny all będziemy mogli z poziomu skryptu odczytywać informacje z tego pliku?

no może trzeba będzie pozwolić 127.0.0.1, albo pozmieniać chmod wszystkich plików tekstowych, ale zadziała (przynajmniej na moim Krasnalu działało)


Odnośnie .htaccess: to nie podziała także na nasz skrypt? To znaczy: czy my przy deny all będziemy mogli z poziomu skryptu odczytywać informacje z tego pliku?
.htaccess jest dla apache, więc na nasz skrypt nie będzie miał wpływu.

A co do inkludowania, to można wykorzystać jakąś stałą:
<? if(!defined('STALA')) die(); else $zawartoscpliku='tresc'; ?>
wtedy w pliku, do którego includujemy tworzymy tą stałą, a po includowaniu mamy to w zmiennej $zawartoscpliku

BTW. plik tekstowy nie jest do końca tak niebezpieczny, gdyż osoba atakująca musiałaby znać jego nazwę, żeby ściągnąć/otworzyć dany plik. Można mu dać jakąś niestandardową nazwę, np. "h45545,-d4.txt" i wyłączyć listowanie katalogu, chociażby poprzez umieszczenie w folderze pliku index.php, który będzie przekierowywał osobnika do innej lokalizacji.


Nie. Można łatwo się dostać do tego pliku i odczytać zawartość.
//Lepiej użyj bazy danych...


Błąd. Na co trzymać to w bazie jak hasło i login do bazy trzyma się w pliku... tekstowym na serwerze...

Trzymanie w plikach tekstowych jest bezpieczne jeśli się nie zrobi byków w skryptach.

Inną znaną metodą jest:

<?php /*
tresc
*/ ?>


hasło i login do bazy trzyma się w pliku... tekstowym
hmmm... po części racja, ale nie do końca. Bo kto trzyma w pliku text/plain (czyli z rozszerzeniem txt)? Wpisanie adresu do tego pliku w przeglądarce spowoduje wyświetlenie loginu/hasła do bazy. Takie dane trzyma się raczej w pliku PHP i zapisuje się je do zmiennych. Wtedy wyświetlenie w przeglądarce takiego pliku spowoduje wykonanie kodu.


hmmm... po części racja, ale nie do końca. Bo kto trzyma w pliku text/plain (czyli z rozszerzeniem txt)? Wpisanie adresu do tego pliku w przeglądarce spowoduje wyświetlenie loginu/hasła do bazy. Takie dane trzyma się raczej w pliku PHP i zapisuje się je do zmiennych. Wtedy wyświetlenie w przeglądarce takiego pliku spowoduje wykonanie kodu.
Ja zawsze tak robiłem tylko nie wiem czy to jest bezpieczne, ale jeszcze nie miałem z tym problemu. Taki plik wyglądał tak:
members.php
<? $login='jakislogin' $haslo='haslo' $mail='e-mail' ?>


hmmm... po części racja, ale nie do końca. Bo kto trzyma w pliku text/plain (czyli z rozszerzeniem txt)?

Jeśli się w serwerze ustawi *.txt jako skrypty do wykonywania to i tych można ;) Ale tak poważnie to w życiu mi nigdy nie przyszło do głowy by hasło trzymać jako widoczne z przeglądarki (jak zaczynałem przygodę z PHP).

Login, Twój kod jest niebezpieczny ;) Średników brakuje (więc są errory). Ot co. ;) W samej istocie jest to bezpieczne gdyż sam interpreter PHP nigdy nie pada, więc treści nigdy się nie pozna. Poza tym hasło zawsze trzyma się w jakimś md5() lub innym, więc nawet jak ktoś pozna treść to wątpię by się chciało łamać hasło....

Wszystko mowa o standardowych ustawieniach Apacha i PHP... Jak ktoś tam testuje sobie każdą opcyjkę i zapomni później zmienić to nie wiadomo jak będzie. Ale ogólnie bezpieczne, bo by przecie każde forum można było shakować w 5 minut gdyby nie było.

Moim dziwnym pomysłem z przed sekundy jest trzymanie hasła w pliku .htaccess za komentarzem :> Nie sprawdzałem, ale to by zmyliło hakera znacznie.


Poza tym hasło zawsze trzyma się w jakimś md5() No jeśli to hasło do połączenia z bazą to nie bardzo xD

Moim dziwnym pomysłem z przed sekundy jest trzymanie hasła w pliku .htaccess za komentarzem
Hmmm... po pierwsze nawet jeśli, to musisz kombinować, żęby takowe hasło potem z poziomu PHP wyciągnąć, wyrażenia regularne i te sprawy. Po drugie (aczkolwiek mogę się mylić) to nie wiem czy apache pozwoli manipulować interpreterowi PHP w .htaccess

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.