![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 2.04.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam, męczyłem się już na wiele sposobów, dlaczego to nie chce działać i jeżeli tak się nie da, to jak najłatwiej jest to rozwiązać?
function zabezpieczpole($nazwapola) { echo mysqli_real_escape_string(htmlentities($_POST[$nazwapola], ENT_QUOTES, "UTF-8"), $db_connect); } zabezpieczpole(nazwapola); Dlaczego ta funkcja nie chce mi wyświetlić $_POST jak wstawiam prawidłową nazwę pola? Czy real_escape_string jest w 100% skuteczne przed sqlinjection? Ten post edytował superbarman 2.04.2015, 23:06:04 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 58 Dołączył: 14.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
1. Czy samo echo $_POST[$nazwapola] działa?
2. Nie przekazujesz do funckji $db_connect, może to jest przyczyną? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 2.04.2015 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 3 Dołączył: 2.04.2015 Ostrzeżenie: (0%) ![]() ![]() |
1) Zrób sobie var_dump na $_POST i zobacz czy na pewno pod kluczem który przekazujesz w parametrze znajduje się jakaś wartość
2) W PHP funkcje nie mają dostępu do zmiennych ustawionych poza nimi, możesz to rozwiązać dodając linijke kodu na początku funkcji: Ten post edytował pawwin 2.04.2015, 23:46:53 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nie zabezpiecza od tego jest bindowanie zmienych
![]() ![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 2.04.2015 Ostrzeżenie: (0%) ![]() ![]() |
uporałem się, podaje rozwiązanie
function safeinput($pole) { global $polaczenie; global $_POST; return mysqli_real_escape_string($polaczenie, htmlentities($pole, ENT_QUOTES, "UTF-8")); } echo safeinput($_POST['maslo']); trzeba ustawić zmienną z połączeniem jako globalną w funkcji i $_POST tak samo, teraz w miejscu w którym chcemy wprowadzić zabezpieczoną zawartość pola wystarczy wstawić funkcję safeinput($_GET[] albo $_POST[]); Ten post edytował superbarman 3.04.2015, 14:01:35 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
$_POST jest superglobalna wiec poco
![]() ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 20:20 |