Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> header a dane od użytkownika
Haczyk67
post 9.07.2009, 10:51:11
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 15.02.2009

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


Czy wywołanie header('Location: /szukaj/ksiazki/'.$_POST['dane']); jest bezpieczne?
Wywołuję to w pliku szukaj.php, który zamienia link na bardziej przyjazny.
Jeżeli użytkownik wpisze w wyszukiwarce 'lol' jest przekierowywany na /szukaj/ksiazki/lol
Czy istnieje jakieś niebezpieczeństwo?
Go to the top of the page
+Quote Post
kipero
post 9.07.2009, 10:55:06
Post #2





Grupa: Zarejestrowani
Postów: 233
Pomógł: 50
Dołączył: 28.10.2006
Skąd: Radom

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


Według mnie jest bezpieczne. I tak wszystko "przeleci" przez plik wyszukiwarki, a tam możesz już zabezpieczyć się przed chociażby SQL Injection. Nie wiem tylko czy nie powinno być:
  1. <?php
  2. header('Location: /szukaj/ksiazki/' . urlencode($_POST['dane']));
  3. ?>


--------------------
Go to the top of the page
+Quote Post
Haczyk67
post 9.07.2009, 10:59:33
Post #3





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 15.02.2009

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


Tak zgadza się potem przeleci przez mysql_real_escape_string, ale czy w tym pliku jest to bezpieczne: ktoś moze np. zakończyć funkcję header i wywołać exit;

A co do urlencode: wszystko ładnie jest bez tego: wyświetla polskie znaki zamienione co w stylu %B3

Ten post edytował Haczyk67 9.07.2009, 11:00:42
Go to the top of the page
+Quote Post
kipero
post 9.07.2009, 11:16:38
Post #4





Grupa: Zarejestrowani
Postów: 233
Pomógł: 50
Dołączył: 28.10.2006
Skąd: Radom

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


Tak jak napisałem, w tym pliku jest bezpiecznie. Jeśli nawet w $_POST['dane'] znajdzie się kod PHP to i tak się nie wykona - tak więc nie ma możliwości zmiany działania skryptu.


--------------------
Go to the top of the page
+Quote Post
Haczyk67
post 12.07.2009, 09:13:46
Post #5





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 15.02.2009

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


A jednak winksmiley.jpg Wysyłanie czegoś takiego nie do końca OK. Wystarczy, że ktoś wpisze np. \n. I wtedy adres wychodzi zamiast /zapytanie: /\n co generuje błąd 404 i to w dodatku nie ten zdefiniowany przeze mnie tylko pierwotny localhostowy. Może są jeszcze inne znaki jakie mam przefiltrować?

edit: zauważyłem, że znak \ psuje mi nie tylko wyszukiwarkę, ale też wszystkie inne skrypty. Po wpisaniu \ na końcu adresu wyrzuca błąd Not Found (nie ten zdefinowany przeze mnie). Co moge zrobić żeby skrypt ignorował ten znak w adresie?

Ten post edytował Haczyk67 12.07.2009, 10:07:08
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 02:11