Polish Bittorrent Tracker Support

  • Maj 18, 2012, 03:54:10
  • Witamy, Gość
Zaloguj się lub zarejestruj.

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Szukanie zaawansowane  

Aktualności:

Autor Wątek: profil 'gg' 'avatar'  (Przeczytany 686 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

nowyyy31

  • Gość
profil 'gg' 'avatar'
« dnia: Sierpień 29, 2007, 01:45:43 »

 :yo:

czy taki kod mnie zabezpiecza przez nie właściwymi wypełniania rubryk w profilu ?
$icq = unesc($_POST["gg"]);
if (strlen($icq) > 8)
    bark("Przepraszamy, Twój numer Gadu gadu jest za długi. (Maksymalnie 10 liczb.)");
if (!empty($_POST['gg'])){
$gg = unesc($_POST["gg"]);
if(!preg_match('/[0,1,2,3,4,5,6,7,8,9]$/i', $gg))
stderr("Bł±d", "numer gg tylko się składa z cyfr");
}
$updateset[] = "gg = " . sqlesc($icq);

if (!empty($_POST['avatar'])){
$avatar = unesc($_POST["avatar"]);
if(!preg_match("/^http:\/\/[^\s'\"<>]+\.(jpg|gif|png)$/i", $avatar))
stderr("Bł±d", "Obrazek musi być w foramcie jpg, gif lub png");
}
Zapisane

Kamiloss

  • Super zaawansowany
  • ******
  • Reputacja -65526
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 665
Odp: profil 'gg' 'avatar'
« Odpowiedź #1 dnia: Sierpień 29, 2007, 02:23:02 »

A czy to jest niebezpieczne ?
$avatars = ($_POST["avatars"] != "" ? "yes" : "no");
$signature = $_POST["signature"];
$signatures = ($_POST["signatures"] != "" ? "yes" : "no");
Zapisane

Piter

  • Gość
Odp: profil 'gg' 'avatar'
« Odpowiedź #2 dnia: Sierpień 29, 2007, 03:25:30 »

Kuba zgoda teoretycznie to wystarczy, ale coś takiego jak podał nowyyy31 zapobiegnie na przykład podaniu adresu innej strony zamiast avatara :] lub wpisaniu czegoś w pole gg gdzie powinny być same cyfry :]

co do postu powyższego widać że masz tylko sprawdzanie czy wartość w zmiennej jest jakimś ciągiem czy jest pusta i zwracany wynik jest na stałe zapisany w kodzie więc nie ma problemu ;]
Zapisane

nowyyy31

  • Gość
Odp: profil 'gg' 'avatar'
« Odpowiedź #3 dnia: Sierpień 29, 2007, 03:51:28 »

a można jakoś skrócić tą cześć
if(!preg_match('/[0,1,2,3,4,5,6,7,8,9]$/i', $gg))
bo mam tego moda
http://btdev.torrentinvite.orgindex.php//topic,2218.0.html

i go też chce zabezpieczyć a operatorze będą potrzebne liczby i literki ;]
a wpisywać każda po poklej  lol lol lol
//edycja
już sobie poradziłem
if(!preg_match('/[a-z]{2,6}$/i', $isp))
« Ostatnia zmiana: Sierpień 29, 2007, 04:14:42 wysłana przez nowyyy31 »
Zapisane

null

  • Super zaawansowany
  • ******
  • Reputacja 40
  • Offline Offline
  • Wiadomości: 1679
Odp: profil 'gg' 'avatar'
« Odpowiedź #4 dnia: Sierpień 29, 2007, 07:26:45 »

To wyrażenie jest niepoprawne - złapie wszystkie cyfry i przecinek :F
if(!preg_match('/^[0-9]$/', $gg)) wystarczy
Zapisane
NullPointerException. chantico podejście drugie. Faza projektowania.

Piter

  • Gość
Odp: profil 'gg' 'avatar'
« Odpowiedź #5 dnia: Sierpień 29, 2007, 08:08:21 »

function validgg($gg) {
$allowedchars = "0123456789";

for ($i = 0; $i < strlen($gg); ++$i)
  if (strpos($allowedchars, $gg[$i]) === false)
    return false;

return true;
}

:P
Zapisane
 

Strona wygenerowana w 0.241 sekund z 23 zapytaniami.