<div>Luciano, boa tarde ...</div>
<div> </div>
<div>Eu já tive um problema desse ao desenvolver um stie em CGI e inserir dados no banco. Além de aspas, existia ainda a questão da acentuação. Bem, eu só resolvi o problema dfinitivamente quando alterei o tipo do campo no banco.
</div>
<div>No meu caso eu estava usando banco Oracle e alterei o campo de CHAR para LONG e alterei o caracterset do oracle.</div>
<div> </div>
<div>Abraços<br><br> </div>
<div><span class="gmail_quote">Em 15/02/06, <b class="gmail_sendername"><a href="mailto:cascavel-pm-request@pm.org">cascavel-pm-request@pm.org</a></b> <<a href="mailto:cascavel-pm-request@pm.org">cascavel-pm-request@pm.org
</a>> escreveu:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Enviar submissões para a lista de discussão Cascavel-pm para<br> <a href="mailto:cascavel-pm@pm.org">
cascavel-pm@pm.org</a><br><br>Para se cadastrar ou descadastrar via WWW, visite o endereço<br> <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>ou, via email, envie uma mensagem com a palavra 'help' no assunto ou
<br>corpo da mensagem para<br> <a href="mailto:cascavel-pm-request@pm.org">cascavel-pm-request@pm.org</a><br><br>Você poderá entrar em contato com a pessoa que gerencia a lista pelo<br>endereço<br> <a href="mailto:cascavel-pm-owner@pm.org">
cascavel-pm-owner@pm.org</a><br><br>Quando responder, por favor edite sua linha Assunto assim ela será<br>mais específica que "Re: Contents of Cascavel-pm digest..."<br><br><br>Tópicos de Hoje:<br><br> 1. Existe maneira de fazer um auto escape de aspas em cgi perl
<br> (Luciano Giordani Bassani)<br> 2. Re: Existe maneira de fazer um auto escape de aspas em cgi<br> perl (Marco A P D'Andrade)<br> 3. Re: [Spam] Re: Dumper de hash duplo (André Garcia Carneiro)<br> 4. Re: Existe maneira de fazer um auto escape de aspas em cgi
<br> perl (Solli Moreira Honorio)<br> 5. Re: [Spam] Re: Dumper de hash duplo (Marco Lima)<br> 6. Yahoo! Releases OSS Ajax and Design Tools (Nelson Ferraz)<br> 7. Cuso Perl no Rio (Tarik Gregorio)<br> 8. Expressibilidade... (Steven Koch)
<br><br><br>----------------------------------------------------------------------<br><br>Message: 1<br>Date: Mon, 13 Feb 2006 18:03:02 -0200<br>From: Luciano Giordani Bassani <<a href="mailto:lgbassani@terra.com.br">lgbassani@terra.com.br
</a>><br>Subject: [Cascavel-pm] Existe maneira de fazer um auto escape de aspas<br> em cgi perl<br>To: <a href="mailto:cascavel-pm@pm.org">cascavel-pm@pm.org</a><br>Message-ID: <<a href="mailto:43F0E5F6.3090709@terra.com.br">
43F0E5F6.3090709@terra.com.br</a>><br>Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br><br>Olá!<br><br><br>Estou com um "pepinão" com um sistema desenvolvido em CGI Perl. O<br>sistema já tem uns 4 anos de desenvolvimento e agora a diretoria
<br>resolveu que o sistema tem que aceitar ASPAS SIMPLES e DUPLAS nas<br>inclusões no banco de dados, bem como para todas as outras rotinas, como<br>por exemplo, consultas SQL, etc. Tudo bem, isso não chega a ser<br>complicado, pois uma simples expressão regular já resolveria isso.
<br>Contudo, o volume de ajuste seria impraticável, pois seria necessário<br>mudar todos os scripts para incluir a rotina de conversão, sendo que<br>cada script ainda precisaria modificar todas as variáveis recebidas.<br>
<br>Gostaria de saber se alguém tem alguma dica de como aplicar isso de uma<br>forma mais prática, seja com um sistema de auto escape para as aspas, ou<br>quem sabe até mesmo "capturar" as solicitações diretamente do STDIN,
<br>alterar os dados e devolver para o processamento normal (existe um<br>script que é chamado por todos, que define funções comuns: o main.pl,<br>que poderia ser usado, caso houvesse uma solução como esta).<br><br>O sistema foi construído com processamento em camadas, tendo o
<br>javascript para validação de formulários e as cgis em Perl para o<br>trabalho com o banco de dados e outras rotinas, como geração de<br>contratos em pdf, etc. O SGDB usado foi o mysql, mas existe outro<br>sistema menor que roda com o PostgreSQL.
<br><br><br><br>SDS,<br><br>Luciano Giordani Bassani<br><a href="mailto:lgb@bbsi.com.br">lgb@bbsi.com.br</a><br><br><br><br>------------------------------<br><br>Message: 2<br>Date: Mon, 13 Feb 2006 18:17:43 -0200<br>From: Marco A P D'Andrade <
<a href="mailto:mdacwb@gmail.com">mdacwb@gmail.com</a>><br>Subject: Re: [Cascavel-pm] Existe maneira de fazer um auto escape de<br> aspas em cgi perl<br>To: <a href="mailto:lgbassani@terra.com.br">lgbassani@terra.com.br
</a>, Cascavel Perl Mongers <<a href="mailto:cascavel-pm@pm.org">cascavel-pm@pm.org</a>><br>Message-ID: <<a href="mailto:42dcdd750602131217u7c8e6775p@mail.gmail.com">42dcdd750602131217u7c8e6775p@mail.gmail.com</a>
><br>Content-Type: text/plain; charset="iso-8859-1"<br><br>Luciano,<br><br>Em minha opinião será necessário mexer nas operacoes ligadas ao banco de<br>dados ...<br><br>Tipicamente as querys sao preparadas no formato:
<br><br>$sth = $dbh->prepare("INSERT into table ( id, valor ) VALUES ( '$Id',<br>'$Valor')");<br>$sth->execute;<br>... e isto gera os problemas ...<br><br>A substibuicao por :<br><br>$sth = $dbh->prepare("INSERT INTO table ( id, valor ) VALUES ( ?, ? )");
<br>$sth->execute($Id, $Valor);<br><br>resolve o problema ... mas tem de ser feito em varios locais ...<br><br>Se vc tentar mexer na entrada, podera ter problemas com a apresentacao ...<br><br><br>PS: Falo com esperiencia ... eu sou daqueles que sempre reclama de erro na
<br>pagina ao preencher meu nome ;)<br><br>Marco A P D'Andrade<br>Rio-PM<br>-------------- Próxima Parte ----------<br>Um anexo em HTML foi limpo...<br>URL: <a href="http://mail.pm.org/pipermail/cascavel-pm/attachments/20060213/8b19a6dd/attachment-0001.html">
http://mail.pm.org/pipermail/cascavel-pm/attachments/20060213/8b19a6dd/attachment-0001.html</a><br><br>------------------------------<br><br>Message: 3<br>Date: Tue, 14 Feb 2006 08:25:45 -0300<br>From: André Garcia Carneiro <
<a href="mailto:andre.garcia.carneir@terra.com.br">andre.garcia.carneir@terra.com.br</a>><br>Subject: Re: [Cascavel-pm] [Spam] Re: Dumper de hash duplo<br>To: "cascavel-pm" <<a href="mailto:cascavel-pm@pm.org">
cascavel-pm@pm.org</a>><br>Message-ID: <<a href="mailto:IUOD2X$89124E477208E2ADE37B82B7BCE5F096@terra.com.br">IUOD2X$89124E477208E2ADE37B82B7BCE5F096@terra.com.br</a>><br>Content-Type: text/plain; charset=iso-8859-1
<br><br>Por isso que eu escrevi:<br><br>use strict; #teste de sanidade!!!<br><br>Isso evita que se possa "atirar no próprio pé". Reza a lenda que isso pode acabar com o Perl 6(digo, deixar atirar no pé...). Vamos ver...
<br><br><br><br>Cheers!<br><br>><br>> > A questão não é parar de programar sem use strict;<br>> ><br>> > Mas sim esclarecer dúvidas, como esta.<br>> ><br>> > Bom.. já que o que eu fiz é erro e funcionou é falha
<br>> > do perl?<br>><br>> Não. Perl não conseguiu fazer o que você pediu (visto<br>> que pediu algo de forma errada) e tentou retornar<br>> alguma coisa. É por isso que puristas reclamam que<br>> Perl deixa você atirar no próprio pé, e isso é
<br>> verdade.<br>><br>> Utilizar a pragma strict serve justamente para o<br>> programa abortar com um erro.<br>><br>> []'s<br>><br>><br>> Alceu Rodrigues de Freitas Junior<br>> --------------------------------------
<br>> <a href="mailto:glasswalk3r@yahoo.com.br">glasswalk3r@yahoo.com.br</a><br>> <a href="http://www.imortais.cjb.net">http://www.imortais.cjb.net</a><br>> -----------------------------------------------------------------------
<br>> A well-used door needs no oil on its hinges.<br>> A swift-flowing stream does not grow stagnant.<br>> Neither sound nor thoughts can travel through a vacuum.<br>> Software rots if not used.<br>> These are great mysteries -- The Tao Of Programming,
5.1<br>><br>><br>><br>> _______________________________________________________<br>> Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora!<br>> <a href="http://br.acesso.yahoo.com">http://br.acesso.yahoo.com
</a><br>> _______________________________________________<br>> Cascavel-pm mailing list<br>> <a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>> <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">
http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>><br>> E-mail classificado pelo Identificador de Spam Inteligente Terra.<br>> Para alterar a categoria classificada, visite<br>> <a href="http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=andre.garcia.carneir&_l=1,1139842613.222743.6672.arrino.terra.com.br,4680,20031127114101,20031127114101">
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=andre.garcia.carneir&_l=1,1139842613.222743.6672.arrino.terra.com.br,4680,20031127114101,20031127114101</a><br>><br>> Esta mensagem foi verificada pelo E-mail Protegido Terra.
<br>> Scan engine: McAfee VirusScan / Atualizado em 10/02/2006 / Versão: 4.4.00/4694<br>> Proteja o seu e-mail Terra: <a href="http://mail.terra.com.br/">http://mail.terra.com.br/</a><br>><br>><br><br>--<br>André Garcia Carneiro
<br>Developer(Perl)<br>Member of "São Paulo Perl Mongers" - <a href="http://sao-paulo.pm.org">http://sao-paulo.pm.org</a><br><br><br><br>------------------------------<br><br>Message: 4<br>Date: Tue, 14 Feb 2006 08:53:13 -0300
<br>From: "Solli Moreira Honorio" <<a href="mailto:shonorio@terra.com.br">shonorio@terra.com.br</a>><br>Subject: Re: [Cascavel-pm] Existe maneira de fazer um auto escape de<br> aspas em cgi perl<br>
To: "cascavel-pm" <<a href="mailto:cascavel-pm@pm.org">cascavel-pm@pm.org</a>><br>Message-ID: <<a href="mailto:IUOECP$17533D36FC1E7C2F61D78C24A9B4F21B@terra.com.br">IUOECP$17533D36FC1E7C2F61D78C24A9B4F21B@terra.com.br
</a>><br>Content-Type: text/plain; charset=iso-8859-1<br><br>> A substibuicao por :<br>><br>> $sth = $dbh->prepare("INSERT INTO table ( id, valor ) VALUES ( ?, ? )");<br>> $sth->execute($Id, $Valor);
<br>><br>> resolve o problema ... mas tem de ser feito em varios locais ...<br>><br>Este cara tem outras vantagens, uma é que se você pode ganhar velocidade na inserção em massa, e no select,<br>pois ele 'compila' (verifica sintaxes) o comando e depois só executa o commando com os dados.
<br><br>A outra vantagem é que reduz o risco de sql injection, pois ele considerará a entrada como uma string completa,<br>e não cai nos truques simples desta técnica. Digamos você está num formulário que recebe um email como chave de
<br>usuário, o cara pode enviar um 'condicional' para sempre ter valor = 1 do teu select, como no exemplo abaixo.<br><br>SELECT fieldlist<br>FROM table<br>WHERE field = 'anything' OR 'x'='x'; -- aqui é um select com um 'or' que sempre é verdadeiro
<br><br>... neste caso, ele vai fazer algo como :<br><br>SELECT fieldlist<br>FROM table<br>WHERE field = q{'anything' OR 'x'='x'}; -- isto aqui é uma string completa, que retornará falso<br><br>Por este motivo sempre utilizo o prepare, vai por mim, vale a pena.... você não perde nada, mas pode ganhar
<br>muito....<br><br>Solli M. Honório<br><br><br><br>------------------------------<br><br>Message: 5<br>Date: Tue, 14 Feb 2006 13:04:45 -0200<br>From: "Marco Lima" <<a href="mailto:marco.lima@e-via.com.br">marco.lima@e-via.com.br
</a>><br>Subject: Re: [Cascavel-pm] [Spam] Re: Dumper de hash duplo<br>To: <a href="mailto:cascavel-pm@pm.org">cascavel-pm@pm.org</a><br>Message-ID: <<a href="mailto:E1F91jR-0006Ef-2N@server.rp40d.com">E1F91jR-0006Ef-2N@server.rp40d.com
</a>><br>Content-Type: text/plain; charset=iso-8859-1<br><br>Salve Monges !<br><br>Bom todos sabem que esse pensamento surgiu com Dennis Ritchie quando<br>falou que C dava corda para se enforcar !<br><br>Larry Wall adicionou a idéia que o Perl possibilitava que se desse um
<br>tiro no pé ...<br><br>Bom agora ele melhorou isso !! ... quando falou que o Perl 6 te dava<br>corda o suficiente para se enforcar em várias árvores e ainda dar um<br>tiro no pé !!!!<br><br>por isso meu caro monge ... o declaraçao do strict pode naum ser mais
<br>necessária, mas vc terá muitos outros buracos sem fim para se enfiar !!<br><br>como ....<br><br>sub postfix:<!> { [*] 1..$_ };<br><br>4! # 24<br><br>... ou ...<br><br>sub japh (Str $lang) {<br> say "just another ",
<br> "$lang hacker";<br>}<br><br>my &perl6Japh := &japh.assuming("Perl6");<br><br>perl6Japh();<br><br>[ ]'s<br><br>> Por isso que eu escrevi:<br>><br>> use strict; #teste de sanidade!!!
<br>><br>> Isso evita que se possa "atirar no próprio pé". Reza a lenda que isso ><br>> pode acabar com o Perl 6(digo, deixar atirar no pé...). Vamos ver...<br>><br>> Cheers!<br><br><br>--<br><br>
Marco Lima<br>J. A. P. H.<br><br><a href="mailto:marco.lima@e-via.com.br">marco.lima@e-via.com.br</a><br><a href="mailto:mago@rio.pm.org">mago@rio.pm.org</a><br><a href="mailto:mago@cpan.org">mago@cpan.org</a><br><br>Sociedade Perl do Brasil |
<a href="http://www.perl.org.br">http://www.perl.org.br</a><br>Perl Monks | <a href="http://www.perlmonks.org">http://www.perlmonks.org</a><br>Brasil Perl Mongers | <a href="http://brasil.pm.org">
http://brasil.pm.org</a><br><br>Register Linux User #355235<br>Slackware Linux, for the subgenius<br><br>"Ninguém é tão grande que não possa aprender, e nem tão pequeno que<br>não possa ensinar"<br><br><br>------------------------------
<br><br>Message: 6<br>Date: Tue, 14 Feb 2006 13:41:41 -0200<br>From: Nelson Ferraz <<a href="mailto:nferraz@gmail.com">nferraz@gmail.com</a>><br>Subject: [Cascavel-pm] Yahoo! Releases OSS Ajax and Design Tools<br>To: Cascavel Perl Mongers <
<a href="mailto:cascavel-pm@pm.org">cascavel-pm@pm.org</a>><br>Message-ID:<br> <<a href="mailto:604cec170602140741t5eef3ceeqb60cdb58232876e6@mail.gmail.com">604cec170602140741t5eef3ceeqb60cdb58232876e6@mail.gmail.com
</a>><br>Content-Type: text/plain; charset=ISO-8859-1<br><br>Boa notícia para os desenvolvedores web: o Yahoo! acaba de lançar uma<br>biblioteca de componentes livres (HTML+JavaScript, licença BSD), e<br>alguns padrões de desenvolvimento de interfaces web.
<br><br>The Yahoo! User Interface Library is a set of utilities and controls,<br>written in JavaScript, for building richly interactive web<br>applications using techniques such as DOM scripting, HTML and AJAX.<br>The UI Library Utilities facilitate the implementation of rich
<br>client-side features by enhancing and normalizing the developer's<br>interface to important elements of the browser infrastructure (such as<br>events, in-page HTTP requests and the DOM). The Yahoo UI Library<br>Controls produce visual, interactive user interface elements on the
<br>page with just a few lines of code and an included CSS file. All the<br>components in the Yahoo! User Interface Library have been released as<br>open source under a BSD license and are free for all uses.<br><br><a href="http://developer.yahoo.net/yui/">
http://developer.yahoo.net/yui/</a><br><a href="http://developer.yahoo.net/ypatterns/">http://developer.yahoo.net/ypatterns/</a><br><br>--<br>Nelson Ferraz<br>GNU BIS - <a href="http://www.gnubis.com.br">www.gnubis.com.br
</a><br><br><br>------------------------------<br><br>Message: 7<br>Date: Tue, 14 Feb 2006 15:18:18 -0200<br>From: Tarik Gregorio <<a href="mailto:tgregorio7@gmail.com">tgregorio7@gmail.com</a>><br>Subject: [Cascavel-pm] Cuso Perl no Rio
<br>To: <a href="mailto:cascavel-pm@pm.org">cascavel-pm@pm.org</a><br>Message-ID: <<a href="mailto:3d92541e0602140918s2d617acj@mail.gmail.com">3d92541e0602140918s2d617acj@mail.gmail.com</a>><br>Content-Type: text/plain; charset="iso-8859-1"
<br><br>Olá pessoal, sou bem iniciante em Perl, engatinhando mesmo, e quero aprender<br>um pouco mais, gostaria de saber se alguém sabe de algum curso bacana no Rio<br>de Janeiro, com um bom conteúdo.<br><br>Abraços para todos!
<br><br>--<br>Tarik Faria da Silva Gregorio<br>-------------- Próxima Parte ----------<br>Um anexo em HTML foi limpo...<br>URL: <a href="http://mail.pm.org/pipermail/cascavel-pm/attachments/20060214/05b25859/attachment-0001.html">
http://mail.pm.org/pipermail/cascavel-pm/attachments/20060214/05b25859/attachment-0001.html</a><br><br>------------------------------<br><br>Message: 8<br>Date: Tue, 14 Feb 2006 22:53:49 +0000<br>From: Steven Koch <<a href="mailto:stvkoch@gmail.com">
stvkoch@gmail.com</a>><br>Subject: [Cascavel-pm] Expressibilidade...<br>To: <a href="mailto:cascavel-pm@pm.org">cascavel-pm@pm.org</a><br>Message-ID: <<a href="mailto:dfdf94ef0602141453y2659beddt@mail.gmail.com">dfdf94ef0602141453y2659beddt@mail.gmail.com
</a>><br>Content-Type: text/plain; charset="iso-8859-1"<br><br>A expressibilidade de Perl é conhecida e reconhecida...<br><br>Estava lendo um artigo sobre o futuro das linguagens de porgramação e...<br>Pergunto: Ô quanto a expressabilidade de Perl pode beneficiar o desempenho
<br>de um sistema? O ditado de fazer alguma coisa de varias formas possiveis,<br>pode melhorar desempenho?<br><br>Vale a pena abdicar de um código legível e compreencivel por um byte??<br>-------------- Próxima Parte ----------
<br>Um anexo em HTML foi limpo...<br>URL: <a href="http://mail.pm.org/pipermail/cascavel-pm/attachments/20060214/4a30e384/attachment.html">http://mail.pm.org/pipermail/cascavel-pm/attachments/20060214/4a30e384/attachment.html
</a><br><br>------------------------------<br><br>_______________________________________________<br>Cascavel-pm mailing list<br><a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">
http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br><br>Fim da Digest Cascavel-pm, volume 133, assunto 3<br>************************************************<br></blockquote></div><br><br clear="all"><br>-- <br>Juliano Dantas Almeida Silva