Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Czy da się przesłać w zmiennej get Polski litery (ą)itp
jagwie
post 14.12.2009, 18:50:07
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 6.01.2008

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


Witam Potrzebuje aby w zmiennej z adresu strony przesłać Polskie litery.
Do przekierowania używam pliku .htaccess przekierowanie wygląda
[PHP] pobierz, plaintext
  1. RewriteRule ^-/([a-z]+)/$ index.php?dzial=miasto&miasto=$1 [L]
  2. RewriteRule ^-/([a-z]+)/([0-9]+)/$ index.php?dzial=miasto&miasto=$1&strona=$2 [L]
[PHP] pobierz, plaintext
Wstawiałem również (.*) lecz też krzaczy

Ten post edytował jagwie 14.12.2009, 21:00:42
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
ucho
post 14.12.2009, 19:16:44
Post #2





Grupa: Zarejestrowani
Postów: 300
Pomógł: 32
Dołączył: 31.07.2006

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


Kod
([^/]+)
albo uzupełnij
Kod
([a-ząę]+)
o wszystkie literki
Go to the top of the page
+Quote Post
korro
post 14.12.2009, 19:17:54
Post #3





Grupa: Zarejestrowani
Postów: 259
Pomógł: 42
Dołączył: 8.04.2005
Skąd: Mława

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


Raczej powinieneś przesyłać id miasta, zamiast pełnej nazwy.


--------------------
Go to the top of the page
+Quote Post
jagwie
post 14.12.2009, 19:24:42
Post #4





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 6.01.2008

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


Id miasta niema w tabli i dlatego wolałbym przekazać całą nazwę
Jeszcze pytanie czy nie rodzi to jakiegoś zagrożenia jeśli chodzi o atak.










-----------------------------
Jeśli szukasz noclegu to wejdź
Go to the top of the page
+Quote Post
korro
post 14.12.2009, 19:27:32
Post #5





Grupa: Zarejestrowani
Postów: 259
Pomógł: 42
Dołączył: 8.04.2005
Skąd: Mława

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


Rodzi. Zastosuj: mysql_real_escape_string

Ten post edytował korro 14.12.2009, 19:28:00


--------------------
Go to the top of the page
+Quote Post
jagwie
post 14.12.2009, 19:51:23
Post #6





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 6.01.2008

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


A jeśli odwojuje się do id czy to zagrożenie znika czy nie

Poniżej podaje plik zapytania czy przy takiej budowie jest możliwość włamania
Kod php wygląd
  1. [url="http://./Pobierz-Plik-175368.html"]pobierz[/url], [url="http://Plaintext-175368.html"]plaintext[/url] [list=1]
  2. [*]$miasto = $_GET['miasto']; //miasto zamiana
  3. [*]$zapytanie = [url="http://www.php.net/mysql_query"]mysql_query[/url]("SELECT ogloszen_na_strone FROM ustawienia LIMIT 1");
  4. [*]$wynik = [url="http://www.php.net/mysql_fetch_array"]mysql_fetch_array[/url]($zapytanie);
  5. [*]$ogloszen_na_strone = $wynik['oglosz'];
  6. [*]
  7. [*]if([url="http://www.php.net/isset"]isset[/url]($_GET['strona']))
  8. [*] $strona = $_GET['strona'];
  9. [*]else
  10. [*] $strona = 0;
  11. [*]
  12. [*]$zapytanie = [url="http://www.php.net/mysql_query"]mysql_query[/url]("SELECT i FROM o WHERE miasto = '$miasto' AND aktywna = 1");
  13. [*]$ile = [url="http://www.php.net/mysql_num_rows"]mysql_num_rows[/url]($zapytanie);
  14. [*]
  15. [*]$zapytanie = [url="http://www.php.net/mysql_query"]mysql_query[/url]("SELECT * FROM o WHERE miasto = '$miasto' AND aktywna = 1 ORDER by id DESC LIMIT ".($strona*$oglosz).",$oglosz");
  16. [*]$stron = $ile / $oglosz;
  17. [*]
  18. [*]
  19. [*]
  20. [*]if([url="http://www.php.net/mysql_num_rows"]mysql_num_rows[/url]($zapytanie) > 0)
  21. [*] include_once("plik.inc.php");
  22. [*]else
  23. [/list]
pobierz, plaintext

Ten post edytował webdice 15.12.2009, 10:18:32
Powód edycji: [webdice]:
Go to the top of the page
+Quote Post
korro
post 14.12.2009, 19:55:24
Post #7





Grupa: Zarejestrowani
Postów: 259
Pomógł: 42
Dołączył: 8.04.2005
Skąd: Mława

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


Rzuć okiem na przykład #2 z podsyłanej już strony http://pl.php.net/mysql_real_escape_string
zobaczysz na czym polega zagrożenie.


--------------------
Go to the top of the page
+Quote Post
jagwie
post 14.12.2009, 20:15:11
Post #8





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 6.01.2008

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


Nie wiem czy dobrze to rozumie .
Przez zmienną da rady przesłać cały kod php
Go to the top of the page
+Quote Post
korro
post 14.12.2009, 20:27:31
Post #9





Grupa: Zarejestrowani
Postów: 259
Pomógł: 42
Dołączył: 8.04.2005
Skąd: Mława

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


Chodzi o to, że np. pytasz bazę:
  1. SELECT * FROM users WHERE id = '{$_POST['id']}' AND pass = '{$_POST['pass']}'

jeśli ktoś poda id = bruce i pass = lee, zapytanie będzie wyglądało tak:
  1. SELECT * FROM users WHERE id = 'bruce' AND pass = 'lee'

ale, jeśli poda id = bruce i pass = ' or '1'='1, zapytanie będzie wyglądało
  1. SELECT * FROM users WHERE id = 'bruce' AND pass = '' OR '1'='1'

wtedy burce będzie zalogowany bez znajomości hasła.


--------------------
Go to the top of the page
+Quote Post
jagwie
post 14.12.2009, 20:37:11
Post #10





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 6.01.2008

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


Takie coś rozumie
Ale czy konkretnie w moim zapytaniu wyśle przez tą zmienną jakiś wyraz to najwyżej dowie się że niema oferty w bazie.
Chyba są jakieś inne możliwości .
A jeśli zmienna prowadzi do zapytania które logują to na pewno jest niebezpieczne.

Prosiłbym o odpowiedz
Go to the top of the page
+Quote Post
korro
post 14.12.2009, 20:45:05
Post #11





Grupa: Zarejestrowani
Postów: 259
Pomógł: 42
Dołączył: 8.04.2005
Skąd: Mława

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


Albo usunie Twoje wszystkie dane.
Po prosu każdą daną od użytkownika przepuść przez wspomnianą funkcję.
Np:
  1. $zapytanie = mysql_query("SELECT id FROM oferty WHERE miasto = '".mysql_real_escape_string($miasto)."' AND aktywna = 1");


--------------------
Go to the top of the page
+Quote Post
jagwie
post 14.12.2009, 20:59:23
Post #12





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 6.01.2008

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


Rozumie już dzięki za wytłumaczenie to może być duży problem
Czyli najlepiej utworzyć id dla każdego miasta i odwoływać się do niego bo rozumie że liczbami nie da rady narobić bajzlu w bazie .
Go to the top of the page
+Quote Post
R4D3K
post 15.12.2009, 11:41:56
Post #13





Grupa: Zarejestrowani
Postów: 144
Pomógł: 12
Dołączył: 16.03.2007

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


Cytat
Czyli najlepiej utworzyć id dla każdego miasta i odwoływać się do niego bo rozumie że liczbami nie da rady narobić bajzlu w bazie .

Pewnie że rodzi o UNION SELECT nie słyszał tongue.gif?
Go to the top of the page
+Quote Post
marcio
post 15.12.2009, 12:16:46
Post #14





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Cytat(R4D3K @ 15.12.2009, 11:41:56 ) *
Pewnie że rodzi o UNION SELECT nie słyszał tongue.gif ?

NO to wtedy rzutuje sie na (int) i po wtokach smile.gif


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
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: 29.06.2025 - 04:53