Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Wyszukiwarka
Ulysess
post 2.09.2010, 17:51:19
Post #1





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


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
Go to the top of the page
+Quote Post
tehaha
post 2.09.2010, 18:03:23
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


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

Ten post edytował tehaha 2.09.2010, 18:08:57
Go to the top of the page
+Quote Post
Ulysess
post 2.09.2010, 18:08:56
Post #3





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


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?
Go to the top of the page
+Quote Post
krispak
post 2.09.2010, 18:15:31
Post #4





Grupa: Zarejestrowani
Postów: 250
Pomógł: 55
Dołączył: 27.08.2008

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


Tak strip_tags usuwa je calkowicie a htmlspecialchars zamienia na encje (np. < na &lt;)


--------------------
* * * * * * * * * * * * * * * * * * * * * * * * *
PHP, Laravel, Docker, Docker Compose, Laradock, Redis, JS, React, Vue, CSS, SCSS, Gulp, GIT ... itd..
Go to the top of the page
+Quote Post
Ulysess
post 2.09.2010, 18:19:07
Post #5





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


czyli strip_tags mogę użyć przy dodawaniu wiadomości z czatu do bazy ?
Go to the top of the page
+Quote Post
tehaha
post 2.09.2010, 18:27:18
Post #6





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


nie tylko możesz ale nawet powinieneś, jeżeli dopuszczasz używanie jakichś tagów to powinieneś to rozwiązać przez bbcode
Go to the top of the page
+Quote Post
Ulysess
post 2.09.2010, 18:35:28
Post #7





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


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
Go to the top of the page
+Quote Post
bastard13
post 2.09.2010, 18:46:27
Post #8





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


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


--------------------
Go to the top of the page
+Quote Post
Ulysess
post 2.09.2010, 18:49:04
Post #9





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


hmm rozumiem że jeśli wyświetle:

  1. '.strip_tags(stripslashes($wiadomosci['message'])).'
to jest to jak najbardziej bezpieczne ?
Go to the top of the page
+Quote Post
Ramzaa
post 2.09.2010, 20:05:23
Post #10





Grupa: Zarejestrowani
Postów: 207
Pomógł: 17
Dołączył: 4.08.2009

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


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.

Ten post edytował Ramzaa 2.09.2010, 20:05:37
Go to the top of the page
+Quote Post
tehaha
post 2.09.2010, 23:15:36
Post #11





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


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
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: 12.06.2025 - 23:46