[Rio-pm] Padrões de Código seguro

Tiago Peczenyj tiago.peczenyj em gmail.com
Sexta Janeiro 11 05:22:43 PST 2013


http://stackoverflow.com/a/3402415

Muito interessante.

printf("%s: %nFoo\n", "hello", my $n);
printf("%*sBar\n", $n, "");

vai imprimir

hello: Foo
       Bar

"alinhados"

2013/1/11 Tiago Peczenyj <tiago.peczenyj em gmail.com>
>
> A explicação eu li, o que eu não entendi é qual o uso do %n na vida real.
>
> 2013/1/11 <ulisses em ibiz.com.br>
>
>> a linha printf "$prompt: Password ok? %d\n", $is_ok;
>>
>> é que seta $is_ok = 4 (no exemplo do site) pq $prompt contem ‘%n’ dentro dele e %n, no printf, faz com q a prox $var, no caso, $id_ok receba 4 que o tamanho do string.
>>
>> veja explicacao na propria pagina:
>>
>> ... the %n instructed Perl to fill the first format string argument with the number of characters printed, which caused Perl to set the $is_ok variable to 4.....
>>
>>
>> veja on-liner abaixo:
>>
>> perl -e "my $prompt='1234567%n'; my $password='xxxx'; my $is_ok = ($password eq 'goodpass'); printf \"$prompt: Password ok? %d\n\", $is_ok; print $is_ok;"
>> 1234567: Password ok? 0
>> 7
>>
>>
>>     Ulisses Gomes
>> Tecnologia da Informação
>>
>> IBIZ Tecnologia
>> +55 11 5579-3178 r. 226
>> ulisses em ibiz.com.br
>> www.ibiz.com.br
>>
>>
>>
>>
>> Esta mensagem de correio eletrônico e seus documentos anexos estão dirigidos EXCLUSIVAMENTE aos destinatários especificados. A informação contida pode ser CONFIDENCIAL e/ou estar LEGALMENTE PROTEGIDA e não necessariamente reflete a opinião da IBIZ. Se você receber esta mensagem por ENGANO, por favor, comunique imediatamente ao remetente e ELIMINE-A já que você NÃO ESTÁ AUTORIZADO ao uso, revelação, distribuição, impressão ou cópia de toda ou alguma parte da informação contida. Obrigado.
>>
>>
>> From: Solli Honorio
>> Sent: Friday, January 11, 2013 10:26 AM
>> To: Perl Mongers Rio de Janeiro
>> Subject: Re: [Rio-pm] Padrões de Código seguro
>>
>> perldoc -f sprintf
>>
>> %n    special: *stores* the number of characters output so far into the next variable in the parameter list
>>
>> Agora, o que isto significa, não tenho idéia :D !!!
>>
>>
>> Em 11 de janeiro de 2013 10:22, Tiago Peczenyj <tiago.peczenyj em gmail.com> escreveu:
>>>
>>> Divertido
>>>
>>> alguem pode  me explicar o %n ?
>>>
>>> https://www.securecoding.cert.org/confluence/display/perl/IDS30-PL.+Exclude+user+input+from+format+strings
>>>
>>> 2013/1/11 <thiagoglauco em ticursos.net>
>>>
>>>> Caros monges, a Cert (www.cert.org) desenvolve padrões e recomendações de segurança para a área de TI.
>>>> Achei bem interessante, pois eles têm recomendações para C, C++, Java e Perl.
>>>>
>>>> www.securecoding.cert.org
>>>>
>>>> Os padrões para Perl e C++ ainda estão em desenvolvimento. Eles aceitam pitacos.
>>>>
>>>> regards.
>>>> _______________________________________________
>>>> Rio-pm mailing list
>>>> Rio-pm em pm.org
>>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>
>>>
>>>
>>>
>>> --
>>> Tiago B. Peczenyj
>>> Linux User #405772
>>>
>>> http://about.me/peczenyj
>>>
>>> _______________________________________________
>>> Rio-pm mailing list
>>> Rio-pm em pm.org
>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>>
>>
>>
>> --
>> "o animal satisfeito dorme". - Guimarães Rosa
>>
>> ________________________________
>> _______________________________________________
>> Rio-pm mailing list
>> Rio-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>>
>> _______________________________________________
>> Rio-pm mailing list
>> Rio-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://about.me/peczenyj




--
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj


Mais detalhes sobre a lista de discussão Rio-pm