![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 263 Pomógł: 0 Dołączył: 13.07.2003 Skąd: wawa Ostrzeżenie: (0%) ![]() ![]() |
mam takie pytanie...
oto funkcyjka sprawdzajaca w moim systemie poprawnosc znakow co byscie jeszcze do niej dopisali aby zapobiec wlamom....[php:1:33b34b701a]<?php function sprawdz_znaki() { if(isset($_POST['login'])){ $login=$_POST['login']; $len=strlen($login); if($len<=16) { if(ereg("^[0-9a-zA-Z]{1,16}$",$login)) { $this->login = $login; return true; } else { return false; } } else { return false; } } else { return false; } } ?>[/php:1:33b34b701a] z gory dzieki za podpowiedzi. :wink: |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
[php:1:73b1380a88]<?php
function sprawdz_znaki() { $_POST['login'] = (get_magic_quotes_gpc()) ? $_POST['login'] : addslashes( $_POST['login'] ); $boolCorrect = isset( $_POST['login'] ) ? true : false; $boolCorrect = ereg( "^[0-9a-zA-Z]{1,16}$", $_POST['login'] ) ? true : false; if( $boolCorrect ) { $this->login = $_POST['login']; { return $boolCorrect ; } ?>[/php:1:73b1380a88] -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat [php:1:0a8a69c405]<?php
$boolCorrect = isset( $_POST['login'] ) ? true : false; ?>[/php:1:0a8a69c405] Te linia jest zbędna. Po pierwsze i tak w następnej linii nadpisujesz wartość $boolCorrect, a po drugie ereg z tym regexpem dla pustego ciągu się i tak nie dopasuje. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 263 Pomógł: 0 Dołączył: 13.07.2003 Skąd: wawa Ostrzeżenie: (0%) ![]() ![]() |
hmm... dzieki.
Teraz się zastanawiam jak by tu zfilitrować na podobnej zasadzie cała tablice $_GET... ma ktosik jakis pomysł? |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Cytat Ta linia jest zbędna. No fakt ![]() -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Teraz się zastanawiam jak by tu zfilitrować na podobnej zasadzie cała tablice $_GET...
Dołóż sobie parametr do funkcji sprawdz_znaki() odpowiadający sprawdzanemu ciągowi a potem: [php:1:921a5f1ce8]<?php $zle = array(); foreach ($_GET as $k => $v) if (!sprawdz_znaki($v)) $zle[] = $k; print "Złe pola to: " . implode(' ', $zle) . "n"; ?>[/php:1:921a5f1ce8] |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 263 Pomógł: 0 Dołączył: 13.07.2003 Skąd: wawa Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Postanowiłem zając sie dalej moim problem i spłodziłem cosik takiego :wink: [php:1:1aa45f8678]<?php function sprawdz_zmienna($v) { $v = (get_magic_quotes_gpc()) ? $v : addslashes($v); $boolCorrect = ereg( "^[0-9a-zA-Z]{1,16}$", $v) ? true : false; if($boolCorrect) { return true ; } else { return false; } } function sprawdz_tablice() { if(!empty($_GET)) { foreach ($_GET as $k => $v) if (sprawdz_zmienna($v) == false) { return false; } else { return true; } } else { return true; } } ?>[/php:1:1aa45f8678] Przepraszam że to takie rozbite ale lubie miec czytelny kod i po pierwsze.. Zwraca mi bład że funkcja sprawdz_zmienna() nie istnieje po drugie czy dobrze myśle... chciałbym osiągnąć jakieś zabezpieczenie przed drobnymi hakerkami bo w stosunku do tych najlepszych i tak nie mam szans ![]() Z góry wielkie dzięki za pomoc i koncepcje ![]() Pozdrawiam patS P.S. troszeczke zmodyfikowalem kod w poscie |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 263 Pomógł: 0 Dołączył: 13.07.2003 Skąd: wawa Ostrzeżenie: (0%) ![]() ![]() |
hmmm...
dodam jeszcze że wszystkie te funkcje znajduja sie w skrypcie od logowania i jezeli zwracaja prawde to skrypt przechodzi dalej... ale w tej chwili zwraca mi że funkcja nie istnieje hmmm Cytat Fatal error: Call to undefined function: sprawdz_zmienna() in line...
No ale przecierz jest ta funkcja.. hmmm troszeczke zmienilem i nie zwraca juz nie prawdy ale jak próbuje wstawic jakakolwiek zmienna getem to skrypt mi sie wywala i pokazuje powyzszy blad... |
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
[php:1:737f662c98]<?php
function sprawdz_tablice() { if(!empty($_GET)) { foreach ($_GET as $k => $v) { $v = (get_magic_quotes_gpc()) ? $v : addslashes($v); if(!ereg( "^[0-9a-zA-Z]{1,16}$", $v)) return false; } } else { return false; } } ?>[/php:1:737f662c98] To tak na szybko bez sprawdzania... |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
http://www.mstudio.nq.pl/php_pl/index.php?...=%2Ftmp%2Fpaths
Funckcja działa poprawnie. Przetestuj na odpowiednio wprowadzonych zmiennych, np. http://www.mstudio.nq.pl/php_pl/tmp/paths/...as&dsad='wqe' i http://www.mstudio.nq.pl/php_pl/tmp/paths/...ad=das&dsad=dsa -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 263 Pomógł: 0 Dołączył: 13.07.2003 Skąd: wawa Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzieki chłopaki. :wink:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 06:50 |