Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wyszukiwarka
Forum PHP.pl > Forum > Przedszkole
Ulysess
witam , na swojej stronie dodałem opcje wyszukiwania, do tej pory miałem że znajdzie tylko taki sam jak podałem w formularzu , teraz zrobiłem tak:

  1.  
  2. $nick = htmlspecialchars(addslashes($_POST['nick']));
  3.  
  4. $zapytanie['szukanie_postaci'] = "SELECT `a`,`b`,`c` FROM `tabela` WHERE `nick`LIKE'%".mysql_real_escape_string($nick)."%' LIMIT 50";
  5.  


czy to jest wydaje oraz bezpieczne questionmark.gif
tehaha
jak dajesz mysql_real_escape_string() to nie potrzeba już add_alshes, poza tym zamiast htmlspecialchars()) powinno być strip_tags(), no bo chyba nie pozwalasz, żeby kod html był częścią nicku? Po za tym te procenty nie wiele zmieniają tylko tyle, że to wyrażenie może znajdować się wewnątrz szukanego

@DOWN
Cytat
htmlspecialchars sluzy do usuwania tagów html
to zapoznaj się z manualem http://pl2.php.net/htmlspecialchars
Ulysess
właśnie o to chodziło aby było wewnątrz. hmm o ile wiem htmlspecialchars sluzy do usuwania tagów html..

hmm właśnie przetestowałem.. dobrze rozumiem że obydwie filtrują tagi html ale htmlspecialchar pozostawia w zmiennej tagi a strip oczyszcza questionmark.gif?
krispak
Tak strip_tags usuwa je calkowicie a htmlspecialchars zamienia na encje (np. < na &lt;)
Ulysess
czyli strip_tags mogę użyć przy dodawaniu wiadomości z czatu do bazy ?
tehaha
nie tylko możesz ale nawet powinieneś, jeżeli dopuszczasz używanie jakichś tagów to powinieneś to rozwiązać przez bbcode
Ulysess
hmm do tej pory przy dodawaniu do bazy używałem tylko trima - oczyszczenia z ost bialych znakow mysql_real_escape_string przy wyświetlaniu używałem htmlspecialchars(addslashes teraz zastosowałem strip_tags - bezpieczniejsze zastosowanie questionmark.gif
to jeszcze takie pytanko.. na innym czacie pewnej gry wpisałem '' i wyświetliło się '' (filtrowanie na pewno jest) na jakiej zasadzie może to być rozwiązane questionmark.gif bo chciałbym aby jesli ktoś zacytuje lub uzyje '' bądz `` wyświetlało się to a nie jak teraz dodaje backslasha
bastard13
Zakładam, że miało wyświetlić ", a wyświetliło \" smile.gif
Jeżeli tak, to użyj na tej zmiennej funkcji:
http://php.net/manual/en/function.stripslashes.php
Ulysess
hmm rozumiem że jeśli wyświetle:

  1. '.strip_tags(stripslashes($wiadomosci['message'])).'
to jest to jak najbardziej bezpieczne ?
Ramzaa
Do "najbardziej bezpieczne" brakuje setki kilometrów, bo są takie przekręty, że w głowie się nie mieści. Podstawową obronę na przeciętnego pseudo "hakera" - masz.
tehaha
kompletnie wszystko mylisz....strip_tags() powinieneś używać przy zapisie do bazy(jeżeli nie zezwalasz na tagi html, a skoro to chat to raczej nie), strip_slashes() używasz przy wyjmowaniu z bazy dlatego, że mysql_real_escape_string() dodaje slashe, a nie, że za każdym razem dajesz wszystkie funkcje bo to bez sensu, przeczytaj sobie w manualu co robi każda funkcja i używaj tych, które są w danej sytuacji potrzebne
Cytat
Do "najbardziej bezpieczne" brakuje setki kilometrów, bo są takie przekręty, że w głowie się nie mieści
to zapodaj jakieś przykłady to się czegoś nauczymy smile.gif
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.