Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Usniecie wszystkich "niecyfr" ze stringu
Bojakki
post
Post #1





Grupa: Zarejestrowani
Postów: 379
Pomógł: 0
Dołączył: 18.08.2004

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


Jest moze juz jakas zdefiniowana w php funkcja, ktora usuwa z danego stringa wszystkie znaki, ktore nie sa cyframi.

Np. string: '12bh56m%$' zamieni na: '1256'.

A jak nie to jak to zrobic najwydajniej?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Vogel
post
Post #2





Grupa: Zarejestrowani
Postów: 402
Pomógł: 0
Dołączył: 20.01.2003

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


  1. <?php
  2. preg_replace("#[^0-9]#si", "", $twoj_ciag_znakow);
  3. ?>
Go to the top of the page
+Quote Post
Bojakki
post
Post #3





Grupa: Zarejestrowani
Postów: 379
Pomógł: 0
Dołączył: 18.08.2004

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


Dzieki, dziala!

Mam jeszcze pytanko czy jak bede filtrowal tym sposobem wszytskie moje zmienne przekazywane poprzez URL to czy jestem juz zabezpieczony przez SQL injection ta droga? (wszystkie zmienne sa u mnie akurat liczbami)
Go to the top of the page
+Quote Post
LBO
post
Post #4





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


tak, bedziesz... SQL injection mają postac zapytan, czyli tekstowych komend SQL...

edit: poczytaj jednak o tym na forum. To, ze akurat w ten prosty sposob mozesz sie teraz uchronic to nie znaczy, ze nie powinienes poznac innych spospob zabezpieczania sie przed tym (oraz innymi atakiami "* injection")

Ten post edytował LBO 15.04.2006, 13:20:08
Go to the top of the page
+Quote Post
akubiczek
post
Post #5





Grupa: Zarejestrowani
Postów: 189
Pomógł: 0
Dołączył: 4.07.2004
Skąd: z neostrady

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


Cytat(Vogel @ 2006-04-15 12:39:09)
  1. <?php
  2. preg_replace("#[^0-9]#si", "", $twoj_ciag_znakow);
  3. ?>

preg_replace('/\D/','',$String);

Tak będzie krócej (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

A co do SQL Injection, to jeżeli korzystasz z mysql to w zasadzie wystarczy ci:

- rzutowanie jawne dla wartości liczbowych np. $foo=(int)$_POST['foo'];
- escepowanie stringów: mysql_real_escape_string();
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 13:00