![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 3.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
1) Jak najlepiej wywołać funkcję public static na podstawie url, np.
localhost/app/posts/show/1/2 2) i dlaczego większość programistów wyśmieje takie rozwiązanie: eval('$uri[0]::$uri[1](' . $params . ');'); (co daje posts::show(1,2) ![]() zakładam, że zmienne $uri i $params zostały DOKŁADNIE przefiltrowane i pojawiają się w nich znaki wyłącznie alfanumeryczne a-z0-9, do max.20 znaków. Czy takie rozwiązania stwarza możliwość ataku? ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. ReflectionClass i metoda invokeMethod.
2. Bo jest niezwykle wolne (m.in. przez blokowanie możliwości użycia akceleratora), jest bardzo niewygodne w pracy, nadal tworzy potencjalną dziurę (powiedzmy, że ktoś odkrył lukę pozwalającą zmienić zawartość zmiennej $params), która pozwala na zrobienie dosłownie wszystkiego. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 3.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
a może: call_user_func($uri[0].'::'$uri[1], .....); Tylko jak przekazać zmieniającą się liczbę parametrów? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
http://pl.php.net/manual/en/function.call-...-func-array.php
Tu możesz zapodać parametry jako tablicę więc mogą być zmienne -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 3.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
BRRRRilliant! O to chodziło!
Dziękuję i pozdrawiam! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 22:07 |