Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wywalenie albo zamiana niepotrzbnych znaków
harbii
post
Post #1





Grupa: Zarejestrowani
Postów: 311
Pomógł: 1
Dołączył: 27.05.2006

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


Wiem, że jest tego dużo na goglach i wszędzie ale nie moge ogarnąć tego tematu.
Chcę aby wysztko co wpada z inputa do zmiennej było "chronione" przed cudzysłowiami i innymi znakami typu &.

Chodzi o to, że niektóre teksty wpadają bezpośrdnio do bazy a niekture "podczepiane" są pod odnośniki.
Dlatego htmlspecialchars chyba odpada (bo zamienia na &cośtam - i rozwala mi linka).
Coś takiego:
  1. $opis = preg_replace('/[^0-9a-z\-]+/', '', opis);

Zamienia mi polskie znaki i usuwa spacje - a nie ma.

Czy jest jakiś prosty łatwy sposób na dobre pozbycie się nieporządanych znaków lub zamianę ich na coś co niebędzie kolidowało w innych obróbkach danych?

Ten post edytował harbii 18.07.2014, 16:11:37
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
ZaXaZ
post
Post #2





Grupa: Zarejestrowani
Postów: 285
Pomógł: 18
Dołączył: 30.01.2014
Skąd: <?=$_GET['city']?>

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


poczytaj o PDO i funkcjach preparowanych.

lub dodaj do prega \s (spacje) + ąść itd jak chcesz miec spację i pl znaki.

Ten post edytował ZaXaZ 18.07.2014, 16:17:52


--------------------
Go to the top of the page
+Quote Post
Wazniak96
post
Post #3





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

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


Po co od razu przerabiać cały skrypt na PDO tylko po to... Tym bardziej, że może być spory. mysql_real_escape_string
Go to the top of the page
+Quote Post
ZaXaZ
post
Post #4





Grupa: Zarejestrowani
Postów: 285
Pomógł: 18
Dołączył: 30.01.2014
Skąd: <?=$_GET['city']?>

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


Cytat(Wazniak96 @ 18.07.2014, 20:04:58 ) *
Po co od razu przerabiać cały skrypt na PDO tylko po to... Tym bardziej, że może być spory. mysql_real_escape_string


funkcje mysql_ sa niestety przestarzale od php 5.5~, manual zaleca zmiane na rozszerzenie mysqli lub PDO, poza tym jak ktos chce miec kod dosc bezpieczny, optymany to warto przerobic nawet 1000 linijek kodu co zreszta wyjdzie na plus.


--------------------
Go to the top of the page
+Quote Post
Wazniak96
post
Post #5





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

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


Są przestarzałe już kolego od wielu lat. Pomimo to w wielu kursach pojawia się właśnie mysql_*. I chodź nie uważam, a żeby było to dobrą praktyką sądzę, że nie ma co początkującym wciskać na siłę PDO. Na wszystko przyjdzie swój czas, a jego droga "programisty" zaprowadzi go tam gdzie trzeba. Bo na pewno natknął się na wzmiankę którą podałeś. smile.gif Notabene funkcja w mysqli nosi identyczną nazwę jak i w mysql_*
Cytat(ZaXaZ @ 19.07.2014, 10:43:04 ) *
[...]jak ktos chce[...]

I o to w tym wszystkim chodzi. Jak ktoś chce. smile.gif
Go to the top of the page
+Quote Post
harbii
post
Post #6





Grupa: Zarejestrowani
Postów: 311
Pomógł: 1
Dołączył: 27.05.2006

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


Ok. mysql_real_escape_string ogarnął mi ' " zapis w bazie - dzięki.

A macie jakiś równie prosty sposób na zanaki '"& ,które wpadną z inputa do linka?
Go to the top of the page
+Quote Post
tzm
post
Post #7





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

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


http://php.net//manual/pl/function.str-replace.php

czemu sobie nie napiszesz sam funkcji do filtracji danych?
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 Aktualny czas: 19.08.2025 - 11:04