Blad czy nie blad?

0

http://bugs.php.net/bug.php?id=30053.

Oni twierdza, ze to nie jest blad, ze nic sie nie stalo i ze tego nie poprawia.... Juz M$ lepiej traktuje swoich uzytkownikow, bo w koncu bledy sa poprawiane (troche wolno, ale jednak). W koncu zamiast wypuszczac patche mogliby w dokumentacji napisac, ze niebieski ekran w Win95/98 byl w zalozeniach projektowych.

0

Jak dla mnie to blad :> Wlasnie u sieibe sprawdzilem i wyskoczylo to samo co tam napisali :P No ale jak komus przeszkadza to przeciez PHP ma otwarty kod mozna poprawic a nie pisac ze jest cos zle :) A jak ktos nie umie poprawic (np ktos taki jak ja ;) ) to pisze tak skrypty aby to omijac :) Mi jak pisalem sam skrypty nigdy cos takiego sie nie zdarzylo chociaz musze przyznac ze kiedys znalazlem buga w php co prawda byl opisany juz na ich stronie ale ja wtedy o tym nie wiedzilem :> Polegalo to mniej wiecej na czyms takim:

<? kod php // ?>

kod php
?>

bylo zle interpretowane. Nie brali pod uwage komentarza i skrypt sie konczyl na:
//?>
Zajelo mi kilka godzin zanim to znalazlem bo wychodzilem z zalozenia to jest komentarz tego nie ma tu nie moze byc zle a jednak bylo :P Potem sprawdzilem na stronie i byl taki blad :)

0

Kolega z sieci lokalnej napisał skrypt wyświetlający katalogi, nie niechący zauważył że jak się wpisze wielokrotnie jako parametr ../../../ (czy jakoś tak) to wyświetla zawartość katalogu głównego dysku! Nie wiem czy to jest błąd, ale wydaje mi się że nie powinno się dać wyświetlić tego co jest za apache'm :|

A tak poza tym chciałbym coś powiedzieć do Królika.... czy ty prowadzisz jakąś świętą wojnę? Cały czas tylko marudzisz ze PHP jest chaotycznie złe i w ogóle... nie porównuj zend engine do microsoftu, bo jak już powiedział Pedros to jest open source i nikt Ci nie każe za interpretator php płacić...

A poza tym nikt Ci nie każe pisać w php, niemile widziane są tu dyskusje o niższości Internet Explorera i Gadu-Gadu... jak dla mnie krytykowanie php jet takie samo

[być może nikt mnie nie poprze, ale takie jest moje zdanie i mam prawo to z siebie wyrzucić ;) ]

0

To z tym ./././././ to

  1. Wina skryptu
  2. I na pewno nie PHP :P

( Moze da sie to gdzies w apaczu poprawic )...

Krolik - jak nie chcesz php, to sie przesiadz na Perla.. Co za problem jak PHP zle?

P.S Kooba - grasz ty w rpg-i ? ;]

0

To z tym ./././././ to

  1. Wina skryptu
  2. I na pewno nie PHP :P

( Moze da sie to gdzies w apaczu poprawic )...

ale wina php że da sie tak zrobić :P

P.S Kooba - grasz ty w rpg-i ? ;]

tak, a czemu? :)

0

Nie, nie prowadze zadnej swietej wojny. Owszem troche marudze, ale zajrzyjcie sobie prosze na strony ZEND albo PHP.NET i poczytajcie jakie tam rzeczy pisza. Dla mnie niczym sie nie roznia od komercyjnych monopolistow.
ZENDa nawet jeszcze rozumiem, bo zarabia na swoich produktach i zalezy mu tak samo jak M$. Taaa... Neostrada jest wg TP.SA. niezawodna, MS Windows jest najstabilniejszym systemem na serwer (dobrze skonfigurowany chodzi niezle, nie przecze), a PHP sluzy do pisania aplikacji typu "mission critical", "enterprise" itd... Wszystko byloby ok, gdyby nie to, ze sa ludzie, ktorzy w to naprawde wierza (na tym forum niestety tez). A ja ich tylko staram sie wyprowadzic z bledu i podaje konkretne argumenty.

Co do tego poprawiania - bardzo chetnie bym to poprawil, gdyby to byl blad w implementacji. Ale to jest blad w projekcie. Z jakiegos dziwnego powodu tworcy wybrali rozwiazanie, o ktorym od kilkunastu lat wiadomo, ze jest niewydajne, slabo sie sprawdza i ma konsekwencje takie jakie widac, jedynie jest dosyc proste w implementacji. Innymi slowy polityka PHP wyglada tak: wezmiemy kilka przestarzalych pomyslow, "jakos" to zaimplementujemy, zapakujemy ladnie, napiszemy pare ach i ochow na stronie, rozdamy za darmo i ludzie i tak sie na to nabiora.

No coz, na tym swiecie ten wygrywa, kto ma lepszy marketing... Ethernet tez przebil TokenRing z powodow politycznych a nie merytorycznych i teraz czekam az sie forum zaladuje przez pol godziny, bo wszyscy MP3 sciagaja....

P.S. Moze nastepnym razem, jak mi sie humor poprawi moze napisze jakiegos pozytywnego posta o PHP...

0

(...)Juz M$ lepiej traktuje swoich uzytkownikow, bo w koncu bledy sa poprawiane (troche wolno, ale jednak).

Ostatnio Microsoft zapowiedział, że nie będą dostarczane łatki do IE na windowsy starsze niż XP z SP2... Parę lat temu mówił, że IE nie będzie obsługiwało przezroczystości w png (na szczeście, chyba zmienił zdanie, bo już przynajmniej binarna obsługuje).

Ale to tylko takie OT. To co przedstawiłeś to jak najbardziej błąd i włączanie tego do "zalozen projektu", to jest duże przegięcie... Już lepiej by to brzmiało jako "otwarty błąd, którego nie wiadomo jak poprawić". Być może ktoś by się wtedy chociaż wziął za poprawę tego.

0

To z tym ./././././ to

  1. Wina skryptu
  2. I na pewno nie PHP :P

( Moze da sie to gdzies w apaczu poprawic )...

ale wina php że da sie tak zrobić :P

A to, że ktoś sobie wywali hasło na roota to wina Torvaldsa co ?
To nie wina php, tylko konfiguracji apache.

0

To z tym ./././././ to

  1. Wina skryptu
  2. I na pewno nie PHP :P

( Moze da sie to gdzies w apaczu poprawic )...

ale wina php że da sie tak zrobić :P

A to, że ktoś sobie wywali hasło na roota to wina Torvaldsa co ?

Nie.

To nie wina php, tylko konfiguracji apache.

Apache jedynie uruchamia wbudowany (albo zewn.) interpreter PHP i cala kontrole nad wykonaniem skryptu zleca jemu. Wg mnie to wina programisty, ze zly skrypt napisal. Trudno, zeby PHP wszystko sprawdzalo - zalozenie jest ze programista wie, co robi.

Zgadzam sie natomiast z Dryobatesem, ze sprawa bledu o ktorym napisalem, zostala zalatwiona bardzo nieladnie. Powinni to zostawic jako blad otwarty, a nie odwracac sie do programistow tylem.

0

@Kooba:

P.S Kooba - grasz ty w rpg-i ?

tak, a czemu?

temu (z ciekawosci pytalem):

chaotycznie zly
:D
--

A co do PHP - to projekt OpenSource. Nikt nie zaklada ze "to zrobimy, tego nie, a jak ktos zrobi to to spadac".

0

ale masz problem, zakoduj to <ort>na razie </ort>w inny sposób

0

No pewnie. Innej rady nie ma. Po przeczytaniu tego zwatpilem zupelnie:

http://bugs.php.net/bug.php?id=14237

Powiedzcie mi, po co sa w takim razie w PHP w ogole referencje? Bo ja nie widze sensu.

0

To ja tylko dopiszę, że ten błąd z ......\ itp jest winą programisty, nie PHP. Dlaczego? Nie jest wcale trudny do zablokowania. Można na przykład wszystkie podstrony, do których odwołuje się skrypt mieć w jakimś dodatkowym katalogu i przy includowaniu powiedzmy dać katalog\parametr. I wtedy jak ktoś wpisze .., to nie dorwie się do poziomu skryptu, tylko dostanie błąd, gdyż miejsce katalog..\ nie istnieje... Jest to chyba najprostsza metoda zabezpieczenia się przed nieautoryzowanym dostępem. Poza tym, to jest wina SYSTEMU, że można sobie tak bezkarnie zobaczyć, co jest wyżej. Przy podstawowej konfiguracji Apach'a pod LINUX'em nie ma takiej możliwości. Po prostu użytkownik, którego prawa posiada skrypt PHP nie może przeczytać katalogów poza miejscem odpowiadającym za przechowywanie serwisu WWW. To by było na tyle :).
P.S. To nie jest żadna święta wojna, taka jest po prostu prawda, że Winda nie umie się przed czymś takim zabezpieczyć sama :>.

0

Drogi Adamie, też w pierwszej chwili pomyślałem "lol, ach te windowsy :)" ale okazało się że na free.of.pl to też zadziałało, a wątpię że ten serwer stoi na windowsie :) I trochę nie rozumiem stwierdzenia "jest to wina programisty" hacker też jest programistą, ale nie będzie się on martwił o to czy skrypt jest bezpieczny czy nie ;) Ale dobra, jeżeli jest to wina konfiguracji apache to spoko, nie było rozmowy....

0

I trochę nie rozumiem stwierdzenia "jest to wina programisty"

Ehhh ja mam wrazenie ze ty w ogole nie wiesz co staramy ci sie przekazac wiec napisze przyklad :) Zakladamy ze napisales sobie skrypt php ktory ma za zadania usuwac pliki np:

<? if (file_exists($_GET['plik'])) unlink($_GET['plik']); ?>

A teraz mi powiedz czy to bedzie wina php jak ktos wywola to tak:
www.strona.pl/skrypt.php?plik=pamietnik.txt
Oczywiscie ze to bedzie wina tego co pisal skrypt i mysle ze Adam piszac ze to wina programisty wlasnie to mial na mysli ze to wina tego co pisal skrypt php. Bo przeciez skad php ma wiedziec ze pamietnik nie mial byc kasowany? Tak samo jest z /../../ czasami sie moze przydawac dlatego to jest zaprogramowane ale trzeba wiedziec jak z tego korzystac i trzeba wiedziec jak z tym uwazac i ile to moze szkod wywolac :)

Wiec php jest jakie jest dla tych ktorym sie nie podoba jest cos podobnego jak ASP tylko ze od MS i platne :> Wybor nalezy do ciebie :)

0

Ciągle mn ie nie rozumiecie [sciana]

Gośc napisał skrypt wyświetlajacy zawartość katalogu głównego dysku, chociaż nie powinien mieć takiej mozliwosći, rozumiecie? Potencjalnemu hackerowi nie bedzie zależało na zabezpieczeniu swoich skryptów... czy teraz wyrażam się jasno? On nie napisał tego specjalnie, ale mógł [!!!]

0

Po pierwsze, to cracker, nie hacker. Już pojmuję, o co Ci chodzi i mówię, że to JEST kwestia konfiguracji. Jak skonfigurować tak, żeby się tego nie dało zrobić? Proste... Żadnego katalogu na dysku nie udostępniamy wszystkim. Tylko konkretnym osobom, na przykład rootowi i jakiejś grupie osób, które są "normalnymi" użytkownikowi kompa. Następnie tworzymy użytkownika webuser, który nie będzie należał do tej grupy, a co za tym idzie nie będzie miał żadnych praw w przeciętnym katalogu. Będzie mógł odczytać tylko katalog zawierający serwis WWW. Następnie w konfiguracji Apache'a wpisujemy jako użytkownika w pliku konfiguracyjnym Apache użytkownika webuser ("User webuser"). Od tego momentu nikt z poziomu ani PHP ani po prostu WWW nie o-t-w-o-r-z-y Ci tego, czego nie chcesz.
Źródła: Moja wiedza i "Apache - przewodnik Encyklopedyczny" wyd. Helion.
Poza tym wystarczy spojrzeć chociażby na Lycos'a jako serwer, na którym nie ma się praw do kont innych użytkowników o katalogu głównym serwera nie wspominając jako dowód, że da się tak skonfigurować Apache'a i PHP, żeby było bezpiecznie.
[dopisane] Ten automat do ortów zaznaczył mi o-t-w-o-r-z-y jako ort... Jak on działa??

0

Gośc napisał skrypt wyświetlajacy zawartość katalogu głównego dysku, chociaż nie powinien mieć takiej mozliwosći, rozumiecie? Potencjalnemu hackerowi nie bedzie zależało na zabezpieczeniu swoich skryptów... czy teraz wyrażam się jasno? On nie napisał tego specjalnie, ale mógł [!!!]

PHP nie jest jezykiem tylko do pisania dynamicznych stron www. To jest takze normalny jezyk skryptowy i nie wiem dlaczego nie mialby miec mozliwosci dowolnego operowania na katalogach i plikach. Teoretycznie mozesz sobie caly system (w szczegolnosci linuxa) oskryptowac w php. Tak wiec, jak koledzy tutaj pisza jest to wina tylko i wylacznie konfiguracji serwera. U mnie na przyklad skrypt php nie wydostanie sie poza dozwolony katalog.

0

co jak co Adamie, ale wiekszosc serwerow jest tak skonfigurowana ze mozesz sobie przegladac niektore foldery, ktore sa wyzej w drzewie niz Twoj folder domowy, a jedynie masz zablokowane pliki i foldery do ktorych nie masz dostepu.
Jesli chodzi o naprawienie tego bledu w php to nie ma zadnego problemu. Z tego co wiem to jezeli wlaczymy safe-mode to nie bedzie mozliwe takie tricko. Jezeli natomiast nie mamy mozliwosci wlaczenia safe-mode ( czyt. jestesmy biedni :d ) to pozostaje nam ( przynajmniej tylko to mi przychodzi do glowy ) przepuscic lanuch znakow przez funkcje

str_replace( "..", "", $lancuch_znakuf );
0

tak, tylko aj chciałem zakonczyć rozmowe na

Ale dobra, jeżeli jest to wina konfiguracji apache to spoko, nie było rozmowy....
, a wy cały czas próbujecie mi coś udowodnić :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1