Blog - Szara Myszka

v.2.0 beta
Trwają prace nad ulepszeniem kodu stron. Prosimy o cierpliwość. Strony nie zostały porzucone
Login: Hasło:

2010-07-16 13:15:16: Kolejne podbicie wersji bloga po pewnym czasie ciszy

Wykonywanie zewnętrznego kodu PHP

internet Dodano: 2009-01-06 17:23:26
Edytowano: 2009-01-13 17:23:58

Ha Wpadłem na ciekawy pomysł. Chodzi o pokazanie jak działa dany skrypt PHP. Czyli podaję funkcję i ją wykonuję. Cały problem postaram się opisać w dalszej części.

Problem może wydawać się dziwny. No ale przecież nie będę pokazywać gotowego kodu, tylko niech serwer sam wygeneruje. A co będzie jak to będzię coś skomplikowanego? Damy wykazać się serwerowi. Oczywiście to jest kolejny z serii urojonych pomysłów

Zacznijmy od pokazania o co mi chodzi. Oto kod:

  1. for($i = 0; $i < 10; ++$i)
  2.  echo rand() % 100 . '
  3. ';
39 60 91 56 25 61 13 9 46 13

Jak widzicie kod jest generowany za każdym wczytaniem, więc nie jest to jakaś ściema

A sposób dość prosty. Wykonujemy kodzik przez eval .

  1. eval('kod kt&oacute;ry mamy ochotę wykonać :)');

Ale pamiętajcie!

Eval is Evil

Należy rozważnie używać tej funkcji, bo może nieść za sobą wiele złych konsekwencji. A więcej zapraszam do tego tematu na moim ulubionym forum

Dodano

Czemu "Eval is Evil"? Hmm. Przecież zawsze ktoś może dostać się do naszego skryptu i wykonywać swój kod. Bo w sumie jeżeli nie przefiltrujemy kodu to można wysyłać spam przez taki eval. Niby łatwo się zabezpieczyć przed takim czymś, ale wiele osób nie będzie wiadziało że takie coś jest możliwe / oleje to i zostawi to tak jak jest (np. Ja ). Jak ktoś się włamie mi na konto to niech się dzieje wola boża. Ja mam backupa

Taką filtracje zaprezentuje w jakimś nowym wpisie, jak znajdę chwilę, a teraz się zabieram za starsze wpisy.


Zobacz również

Nic nie pasuje? Polecam użyć wyszukiwarki na górze strony.

Wróć

Komentarze

Grzegorz Łuszczek pisze:
Nikt jeszcze nie napisał komentarza do tego wpisu, może Ty będziesz pierwszy?

Dodaj komentarz

Nick:
Jak mia� na imi� Juliusz S�owacki?:
0.034