Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> filtrowanie znakow
patrycjusz
post
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:
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
scanner
post
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]


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
adwol
post
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.
Go to the top of the page
+Quote Post
patrycjusz
post
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ł?
Go to the top of the page
+Quote Post
scanner
post
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 smile.gif


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
adwol
post
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]
Go to the top of the page
+Quote Post
patrycjusz
post
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 smile.gif .
Z góry wielkie dzięki za pomoc i koncepcje smile.gif .
Pozdrawiam patS
P.S. troszeczke zmodyfikowalem kod w poscie
Go to the top of the page
+Quote Post
patrycjusz
post
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...
Go to the top of the page
+Quote Post
BzikOS
post
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...
Go to the top of the page
+Quote Post
DeyV
post
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..."
Go to the top of the page
+Quote Post
patrycjusz
post
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:
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: 19.08.2025 - 06:50