Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]filtrowanie daqnych z formularza
Th0e
post
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 16.09.2012

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


Witam. Oto przykładowy formularz:

  1. <form method="POST">
  2. <input type="text" name="tekst">
  3. <input type="submit" value="wyślij">
  4. </form>


  1. if(isset($_POST['tekst']))
  2. {
  3. $tekst = $_POST['tekst'];
  4. mysql_query("INSERT INTO `tabela` (tekst) VALUES('$tekst')") or die("Błąd.");
  5. header("Location: ?wyslano=tekst");
  6. }


I tutaj moje pytanie. Jak zabezpieczać formularze, żeby użytkownicy nie mogli używać html, php, mysql i innych wariatów poprzez formularz? Żeby nie możliwe były ataki SQL itp. co zagraża stronie? Czy wystarczy htmlspecialchars i addslashes? A może jakaś inna funkcja? Proszę o pomoc.
Go to the top of the page
+Quote Post
gentleman
post
Post #2





Grupa: Zarejestrowani
Postów: 41
Pomógł: 1
Dołączył: 17.05.2013

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


jesrt takie cos jak eregi
albo (chyba)
$tekst = stripslashes($_POST['tekst']);


Ten post edytował gentleman 18.05.2013, 11:16:48
Go to the top of the page
+Quote Post
Th0e
post
Post #3





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 16.09.2012

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


Cytat(gentleman @ 18.05.2013, 12:15:02 ) *
jesrt takie cos jak eregi
albo (chyba)
$tekst = stripslashes($_POST['tekst']);


A da ktoś jakieś przykłady jak to zastosować (eregi)? PHP Manual to dla mnie jak turecki

co do stripslashes to jak usuwanie \ z ciągów znaków ma pomóc?

Ten post edytował Th0e 18.05.2013, 11:21:07
Go to the top of the page
+Quote Post
gentleman
post
Post #4





Grupa: Zarejestrowani
Postów: 41
Pomógł: 1
Dołączył: 17.05.2013

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


Kod
if (ereg ("^[a-zA-z0-9]$", $text)) {

// ok

} else {

//niedozwolone znaki

}


mam nadzieje ze dobrze to zrobilem
możesz też zrobić przedzial np od 3 do 16

Kod
if (ereg ("^[a-zA-z0-9]{3,16}$", $text)) {
...
}


lub nawet do emaila że musi być testCyfry@textCyfry.tekst

Ten post edytował gentleman 18.05.2013, 11:32:54
Go to the top of the page
+Quote Post
Th0e
post
Post #5





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 16.09.2012

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


Dzięki smile.gif Ale jeśli robię skrypt postów i chciałbym żeby użytkownicy mogli pisać wszystkie znaki typu <>/!@#$%^&*()., ale żeby jeśli będzie w stringu <h1>text</h1> to żeby nie wyświetlało powiększonego 'text' tylko po prostu '<h1>tekst</h1>' to jest na to jakiś sposób?
Go to the top of the page
+Quote Post
gentleman
post
Post #6





Grupa: Zarejestrowani
Postów: 41
Pomógł: 1
Dołączył: 17.05.2013

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


Kod
sam za bardzo nie wiem jak to zrobić (też by mi sie przydało ) ale musielibysmy chyba sciagnac bbcodes i jakby ktoś chciał np pogrubić tekst to musialby >> [b] text pogrubiony[/b] a nie <b>...</b> i wtedy html nie dziala czy php
Go to the top of the page
+Quote Post
Th0e
post
Post #7





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 16.09.2012

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


Cytat(gentleman @ 18.05.2013, 12:37:33 ) *
Kod
sam za bardzo nie wiem jak to zrobić (też by mi sie przydało ) ale musielibysmy chyba sciagnac bbcodes i jakby ktoś chciał np pogrubić tekst to musialby >> [b] text pogrubiony[/b] a nie <b>...</b> i wtedy html nie dziala czy php

też właśnie o tym myślałem, tylko jak -,-
Go to the top of the page
+Quote Post
lobopol
post
Post #8





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


ereg jest depracated


--------------------
Go to the top of the page
+Quote Post
Th0e
post
Post #9





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 16.09.2012

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


to wie ktoś?
Go to the top of the page
+Quote Post
_Borys_
post
Post #10





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

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


Cytat(Th0e @ 18.05.2013, 12:32:28 ) *
...jeśli będzie w stringu <h1>text</h1> to żeby nie wyświetlało powiększonego 'text' tylko po prostu '<h1>tekst</h1>' to jest na to jakiś sposób?

Przy wyświetlaniu używaj w php htmlspecialchars() albo htmlentities().
Albo w html jest <pre></pre>.
Co do wyrażeń regularnych to PCRE Functions
O zabezpieczeniu danych z formularzy jest mnóstwo tematów zarówno tu jak i w necie, poszukaj poczytaj.
Go to the top of the page
+Quote Post
Th0e
post
Post #11





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 16.09.2012

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


Cytat(_Borys_ @ 18.05.2013, 20:11:32 ) *
Przy wyświetlaniu używaj w php htmlspecialchars() albo htmlentities().
Albo w html jest <pre></pre>.
Co do wyrażeń regularnych to PCRE Functions
O zabezpieczeniu danych z formularzy jest mnóstwo tematów zarówno tu jak i w necie, poszukaj poczytaj.


dzięki. htmlspecialchars działa zarówno na html jak i na php z tego co zauważyłem.

Ale mam jeszcze jedno pytanie. Jak zrobić że gdy użytkownik piszący posta, który w polu <text area> da np. w pewnym miejscu 2 entery, to żeby potem pokazywało tego posta z owymi odstępami? Normalnie nie będzie odstępów między wierszami, tylko spacja.
Go to the top of the page
+Quote Post
Sobak
post
Post #12





Grupa: Zarejestrowani
Postów: 21
Pomógł: 4
Dołączył: 26.04.2011
Skąd: Olsztyn

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


Chodzi Ci może o nl2br?
Go to the top of the page
+Quote Post
Th0e
post
Post #13





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 16.09.2012

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


Cytat(Sobak @ 19.05.2013, 10:17:16 ) *
Chodzi Ci może o nl2br?


dzięki o to chodziło !

a jak zrobić by wyszukiwało z stringu np. [b] - bo chciałbym zrobić własne BB code na stronie skoro nikt nie wie jak je wgrać

Ten post edytował Th0e 19.05.2013, 10:02:14
Go to the top of the page
+Quote Post
lobopol
post
Post #14





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Odpowiedni preg_replace, znajdziesz setki gotowych klas w internecie google->php bbcode

Ten post edytował lobopol 19.05.2013, 11:30:31


--------------------
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: 21.08.2025 - 14:47