Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wywalenie albo zamiana niepotrzbnych znaków
Forum PHP.pl > Forum > Przedszkole
harbii
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?
ZaXaZ
poczytaj o PDO i funkcjach preparowanych.

lub dodaj do prega \s (spacje) + ąść itd jak chcesz miec spację i pl znaki.
Wazniak96
Po co od razu przerabiać cały skrypt na PDO tylko po to... Tym bardziej, że może być spory. mysql_real_escape_string
ZaXaZ
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.
Wazniak96
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
harbii
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?
tzm
http://php.net//manual/pl/function.str-replace.php

czemu sobie nie napiszesz sam funkcji do filtracji danych?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.