Re: [Zope-pt] Construir ZSQL dinamicamente

2005-11-17 Por tôpico José Henrique



Além da maior segurança proporcionada pelo ZSQL methods, o Zope Book apresenta ainda outras vantagens:

Generated SQL will take care of special characters that may need to be
  quoted or removed from the query. This speeds up code development.If the underlying database is changed (for example, from Postgres
  to Oracle), then the generated SQL will, in some cases,
  automatically change too, making the application more portable.Results from the query are packaged into an easy to use object which
  will make display or processing of the response very simple.Transactions are mediated.

Quando esse assunto é tratado na lista internacional do Zope, há um
consenso entre os mais experientes que, para manipulação de dados
relacionais, deve-se usar ZSQL methods e não comandos SQL embutidos em
código Python.

Zénrique.Em 17/11/05, alexandre <[EMAIL PROTECTED]> escreveu:



vivendo e aprendendo, vou pesquisar melhor o assunto. Na breve
olhada que eu dei no zope book não encontrei nada sobre segurança dos
zsqls, daí a controvérsia.
 
Em 17/11/05, Rodrigo Braga <[EMAIL PROTECTED]
> escreveu:

Mais uma característica interessante essa do "cacheamento"!As TAG's SQLGROUP, TEST e etc. provêem muitas alternativas, eu consegui alcançar meu objetivo usando apenas ZSQL!Acredito que o interesante é armazenar as regras nos PythonScripts e deixar o acesso aos dados por conta dos ZSQL!
Dorneles Treméa <[EMAIL PROTECTED]> escreveu: 

Opa Alexandre,> eu particularmente prefiro montar o sql através de python script e> chamar a query com:

> > sql = "select * from tabela"> r = context.bd.manage_test(sql)este foi um exemplo sem interação com dados do usuário, mas supondoque tivesse um 'where' na jogada:sql = "select * from tabela where usuario = '%s'" % user_id
Dá pra perceber o tamanho do rombo que isso representa caso um usuário'esperto' passar como user_id o seguinte conteúdo:foo'; drop table 'tabelaA questão aqui é que o ZSQLMethod inteligentemente barra esse tipo de
SQL Injection.Se você ainda achar 'pouco' esse benefício, não esqueça que acessandoo banco diretamente você está ignorando completamente os recursos decacheamento (existe isso? :-D) também nativamente implementado pelo
ZSQLMethod. DTML ainda tem longa vida nessa parte do Zope... ;-)HTH,-- Dorneles TreméaX3ng Web TechnologyPara enviar uma mensagem: 

zope-pt@yahoogrupos.com.brPara desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
 Links do Yahoo! Grupos<*> Para visitar o site do seu grupo na web, acesse:

http://br.groups.yahoo.com/group/zope-pt/<*> Para sair deste grupo, envie um e-mail para:

[EMAIL PROTECTED]<*> O uso que você faz do Yahoo! Grupos está sujeito aos:

http://br.yahoo.com/info/utos.html


Yahoo! Acesso Grátis: Internet rápida e grátis.Instale o discador agora!
 Para enviar uma mensagem: zope-pt@yahoogrupos.com.brPara desistir envie uma mensagem em branco para: 
[EMAIL PROTECTED] 




Yahoo! Grupos, um serviço oferecido por:





PUBLICIDADE

 



Links do Yahoo! Grupos

Para visitar o site do seu grupo na web, acesse:http://br.groups.yahoo.com/group/zope-pt/
  
Para sair deste grupo, envie um e-mail para:[EMAIL PROTECTED]
  
O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. 


-- :?) 






Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]






  




  
Yahoo! Grupos, um serviço oferecido por:
  
  
PUBLICIDADE





  
  



  




  
Links do Yahoo! Grupos

Para visitar o site do seu grupo na web, acesse:http://br.groups.yahoo.com/group/zope-pt/
 
Para sair deste grupo, envie um e-mail para:[EMAIL PROTECTED]
 
O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!.















Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]





  




  
Yahoo! Grupos, um serviço oferecido por:
  
  
PUBLICIDADE




  
  



  




  
Links do Yahoo! Grupos

Para visitar o site do seu grupo na web, acesse:http://br.groups.yahoo.com/group/zope-pt/ 
Para sair deste grupo, envie um e-mail para:[EMAIL PROTECTED] 
O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!.









Re: [Zope-pt] Construir ZSQL dinamicamente

2005-11-17 Por tôpico alexandre



vivendo e aprendendo, vou pesquisar melhor o assunto. Na breve olhada que eu dei no zope book não encontrei nada sobre segurança dos zsqls, daí a controvérsia.
 
Em 17/11/05, Rodrigo Braga <[EMAIL PROTECTED]> escreveu:

Mais uma característica interessante essa do "cacheamento"!As TAG's SQLGROUP, TEST e etc. provêem muitas alternativas, eu consegui alcançar meu objetivo usando apenas ZSQL!Acredito que o interesante é armazenar as regras nos PythonScripts e deixar o acesso aos dados por conta dos ZSQL!
Dorneles Treméa <[EMAIL PROTECTED]> escreveu: 

Opa Alexandre,> eu particularmente prefiro montar o sql através de python script e> chamar a query com:
> > sql = "select * from tabela"> r = context.bd.manage_test(sql)este foi um exemplo sem interação com dados do usuário, mas supondoque tivesse um 'where' na jogada:sql = "select * from tabela where usuario = '%s'" % user_id
Dá pra perceber o tamanho do rombo que isso representa caso um usuário'esperto' passar como user_id o seguinte conteúdo:foo'; drop table 'tabelaA questão aqui é que o ZSQLMethod inteligentemente barra esse tipo de
SQL Injection.Se você ainda achar 'pouco' esse benefício, não esqueça que acessandoo banco diretamente você está ignorando completamente os recursos decacheamento (existe isso? :-D) também nativamente implementado pelo
ZSQLMethod. DTML ainda tem longa vida nessa parte do Zope... ;-)HTH,-- Dorneles TreméaX3ng Web TechnologyPara enviar uma mensagem: 
zope-pt@yahoogrupos.com.brPara desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
 Links do Yahoo! Grupos<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/zope-pt/<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html


Yahoo! Acesso Grátis: Internet rápida e grátis.Instale o discador agora!
 Para enviar uma mensagem: zope-pt@yahoogrupos.com.brPara desistir envie uma mensagem em branco para: 
[EMAIL PROTECTED] 



Yahoo! Grupos, um serviço oferecido por:





PUBLICIDADE
 

Links do Yahoo! Grupos

Para visitar o site do seu grupo na web, acesse:http://br.groups.yahoo.com/group/zope-pt/
  
Para sair deste grupo, envie um e-mail para:[EMAIL PROTECTED]
  
O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. 

-- :?) 






Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]





  




  
Yahoo! Grupos, um serviço oferecido por:
  
  
PUBLICIDADE




  
  



  




  
Links do Yahoo! Grupos

Para visitar o site do seu grupo na web, acesse:http://br.groups.yahoo.com/group/zope-pt/ 
Para sair deste grupo, envie um e-mail para:[EMAIL PROTECTED] 
O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!.









Re: [Zope-pt] Construir ZSQL dinamicamente

2005-11-17 Por tôpico Rodrigo Braga



Mais uma característica interessante essa do "cacheamento"!As TAG's SQLGROUP, TEST e etc. provêem muitas alternativas, eu consegui alcançar meu objetivo usando apenas ZSQL!Acredito que o interesante é armazenar as regras nos PythonScripts e deixar o acesso aos dados por conta dos ZSQL!Dorneles Treméa <[EMAIL PROTECTED]> escreveu:  Opa Alexandre,> eu particularmente prefiro montar o sql através de python script e> chamar a query com:> > sql = "select * from tabela"> r = context.bd.manage_test(sql)este foi um exemplo sem interação com dados do usuário, mas supondoque tivesse um 'where' na jogada:sql = "select * from tabela where usuario = '%s'" % user_idDá pra perceber o tamanho do rombo que isso representa caso um
 usuário'esperto' passar como user_id o seguinte conteúdo:foo'; drop table 'tabelaA questão aqui é que o ZSQLMethod inteligentemente barra esse tipo deSQL Injection.Se você ainda achar 'pouco' esse benefício, não esqueça que acessandoo banco diretamente você está ignorando completamente os recursos decacheamento (existe isso? :-D) também nativamente implementado peloZSQLMethod. DTML ainda tem longa vida nessa parte do Zope... ;-)HTH,-- Dorneles TreméaX3ng Web TechnologyPara enviar uma mensagem: zope-pt@yahoogrupos.com.brPara desistir envie uma mensagem em branco para: [EMAIL PROTECTED] Links do Yahoo! Grupos<*> Para visitar o site do seu grupo na web, acesse:http://br.groups.yahoo.com/group/zope-pt/<*> Para sair deste grupo, envie um e-mail para:[EMAIL PROTECTED]<*> O uso que você faz do Yahoo!
 Grupos está sujeito aos:http://br.yahoo.com/info/utos.html 
		 
Yahoo! Acesso Grátis: Internet rápida e grátis.Instale o discador agora!





Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]





  




  
Yahoo! Grupos, um serviço oferecido por:
  
  
PUBLICIDADE




  
  



  




  
Links do Yahoo! Grupos

Para visitar o site do seu grupo na web, acesse:http://br.groups.yahoo.com/group/zope-pt/ 
Para sair deste grupo, envie um e-mail para:[EMAIL PROTECTED] 
O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!.









Re: [Zope-pt] Construir ZSQL dinamicamente

2005-11-16 Por tôpico Dorneles Treméa
Opa Alexandre,

> eu particularmente prefiro montar o sql através de python script e
> chamar a query com:
> 
> sql = "select * from tabela"
> r = context.bd.manage_test(sql)

este foi um exemplo sem interação com dados do usuário, mas supondo
que tivesse um 'where' na jogada:

sql = "select * from tabela where usuario = '%s'" % user_id

Dá pra perceber o tamanho do rombo que isso representa caso um usuário
'esperto' passar como user_id o seguinte conteúdo:

foo'; drop table 'tabela

A questão aqui é que o ZSQLMethod inteligentemente barra esse tipo de
SQL Injection.

Se você ainda achar 'pouco' esse benefício, não esqueça que acessando
o banco diretamente você está ignorando completamente os recursos de
cacheamento (existe isso? :-D) também nativamente implementado pelo
ZSQLMethod. DTML ainda tem longa vida nessa parte do Zope... ;-)

HTH,

-- 

Dorneles Treméa
X3ng Web Technology


Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/zope-pt/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [Zope-pt] Construir ZSQL dinamicamente

2005-11-16 Por tôpico alexandre



desconhecia o fato de scripts python serem menos seguros que zsql
methods. Certamente que se o progamador errar no código pode
abrir  brechas de segurança, mas fica a pergunta, erros na
construção dos zsql methods não poderiam abrir falhas também?

prefiro o python porque ele é mais fácil e flexivel de trabalhar, além
do que tenho o presentimento que python terá uma vida mais longa que
dtml.

Em 15/11/05, Rodrigo Braga <[EMAIL PROTECTED]> escreveu:



Alexandre   Inicialmente eu havia pensado em contruir as
instruções desta forma, mas como foi ratificado pelo José Henrique usar
ZSQL Méthods implica em usar intrinsicamente recursos de segurança
nativos do Zope, acho isso um ponto interessante a ser levado em conta;
não discordo que ter várias alternativas é "saudável", porém em casos
de querys que dependem de interação do usuário os ZSQL são uma escolha
robusta, segura e fácil!Quais vantagens você aponta em usar exclusivamente esta forma?!alexandre <
[EMAIL PROTECTED]> escreveu:  eu particularmente prefiro montar o sql através de python script e
chamar a query com:sql = "select * from tabela"r = context.bd.manage_test(sql)Em 14/11/05, José Henrique escreveu:> Exatamente, usando as tags
 próprias para os zsql methods você evita> problemas como "sql injection", que é uma técnica que tenta inserir> comandos SQL que podem apagar ou corromper dados ou dar acesso a dados> críticos.
>> Zénrique>> Em 14/11/05, Rodrigo Braga escreveu:> > Valeu Zé!> >> > Consegui deixar minha instrução bem elegante (apesar> > de ter algumas cláusulas "loucas"), me vi desesperado
> > quando pensei que teria que escrever a instrução> > baseado em if's, for's e afins :-D> >> > E pelo o que pude ver usar as tag's DTML-SQL... ainda> > tem a vantagem de em relação a segurança e etc.
> > procede?!> >> > --- José Henrique  escreveu:> >> > > Rodrigo,> > >> > > Você pode obter o resultado que deseja usando as
> > > tags:>
 > > - dtml-sqlgroup> > > - dtml-sqltest> > > - dtml-and ou dtml-or> > >> > > Um exemplo:> > >> > > select * from tabela> > > 
> > > > > > > > > > > > > > >> > > Caso seja fornecido apenas nome, o resultado será:> > > select * from tabela where nome='bla'
> > >> > > Se fornecer nome e cpf o resultado será:> > > select * from tabela where nome='bla' and> > > cpf='09909098898'> > >> > > Você pode obter mais informações sobre a programação
> > > dos zsql methods> > > no Zope Book.> > >> > > Zénrique> > > Em 13/11/05,
 Rodrigo Braga> > > escreveu:> > > > Pessoal> > > >> > > > Estou com o seguinte dilema, em uma janela de
> > > busca> > > > "detalhada" ou usuário poderá preencher N campos> > > para> > > > refinar a busca, e pra isso seria interessante> > > montar
> > > > o ZSQL dinamicamente, por exemplo:> > > >> > > > No formulário existe o campo nome, cpf e endereço> > > e se> > > > o usuário preencher os três o zsql será montado
> > > com:> > > >> > > > select * from tabela where nome=bla and cpf ...> > > >> > > > caso ele preencha apenas nome ... o WHERE terá> > > apenas
> > > > o nome ... algo assim.> > > >> > > > Alguém pode me
 dar uma idéia de como solucionar> > > isso,> > > > ou estou pensando em montar essa busca detalhada> > > com o> > > > pior método possível :-)> > > >
> > > > Obrigado a todos!> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >
> > > >> > >> > ___> > > > Yahoo! Acesso Grátis: Internet rápida e grátis.> > > > Instale o discador agora!
> > > > http://br.acesso.yahoo.com/> > > >> > > >> > > >
> > > > Para enviar uma mensagem:> > > zope-pt@yahoogrupos.com.br> > > > Para desistir envie uma mensagem em branco para:
> > >
 [EMAIL PROTECTED]> > > > Links do Yahoo! Grupos
> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > >> > >> > > Para enviar uma mensagem: 
zope-pt@yahoogrupos.com.br> > > Para desistir envie uma mensagem em branco para:> > > 
[EMAIL PROTECTED]> > > Links do Yahoo! Grupos> > >
> > >> > >> > > http://br.yahoo.com/info/utos.html> > >
> > >> > >> > >> > >> >> >> >> >> >> >> >> >> >> > ___
> > Yahoo! Acesso Grátis: Internet rápida e grátis.>
 > Instale o discador agora!> > http://br.acesso.yahoo.com/> >> >> >
> > Para enviar uma mensagem: zope-pt@yahoogrupos.com.br> > Para desistir envie uma mensagem em branco para: 
[EMAIL PROTECTED]> > Links do Yahoo! Grupos> >
> >> >> >> >> >> >>  Para enviar uma mensagem: 
zope-pt@yahoogrupos.com.br> Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
> Links do Yahoo! Grupos--:?)Para enviar uma mensagem: 
zope-pt@yahoogrupos.com.brPara desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
 Links do Yahoo! Grupos<*> Para visitar o site do seu grupo na web, acesse:   
 http://br.groups.yahoo.com/group/zope-pt/<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html 

		 
Yahoo! 

Re: [Zope-pt] Construir ZSQL dinamicamente

2005-11-15 Por tôpico Rodrigo Braga



AlexandreInicialmente eu havia pensado em contruir as instruções desta forma,  mas como foi ratificado pelo José Henrique usar ZSQL Méthods implica em  usar intrinsicamente recursos de segurança nativos do Zope, acho isso  um ponto interessante a ser levado em conta; não discordo que ter  várias alternativas é "saudável", porém em casos de querys que dependem  de interação do usuário os ZSQL são uma escolha robusta, segura e fácil!Quais vantagens você aponta em usar exclusivamente esta forma?!alexandre <[EMAIL PROTECTED]> escreveu:  eu particularmente prefiro montar o sql através de python script echamar a query com:sql = "select * from tabela"r = context.bd.manage_test(sql)Em 14/11/05, José Henrique escreveu:> Exatamente, usando as tags
 próprias para os zsql methods você evita> problemas como "sql injection", que é uma técnica que tenta inserir> comandos SQL que podem apagar ou corromper dados ou dar acesso a dados> críticos.>> Zénrique>> Em 14/11/05, Rodrigo Braga escreveu:> > Valeu Zé!> >> > Consegui deixar minha instrução bem elegante (apesar> > de ter algumas cláusulas "loucas"), me vi desesperado> > quando pensei que teria que escrever a instrução> > baseado em if's, for's e afins :-D> >> > E pelo o que pude ver usar as tag's DTML-SQL... ainda> > tem a vantagem de em relação a segurança e etc.> > procede?!> >> > --- José Henrique  escreveu:> >> > > Rodrigo,> > >> > > Você pode obter o resultado que deseja usando as> > > tags:>
 > > - dtml-sqlgroup> > > - dtml-sqltest> > > - dtml-and ou dtml-or> > >> > > Um exemplo:> > >> > > select * from tabela> > > > > > > > > > > > > > > > > >> > > Caso seja fornecido apenas nome, o resultado será:> > > select * from tabela where nome='bla'> > >> > > Se fornecer nome e cpf o resultado será:> > > select * from tabela where nome='bla' and> > > cpf='09909098898'> > >> > > Você pode obter mais informações sobre a programação> > > dos zsql methods> > > no Zope Book.> > >> > > Zénrique> > > Em 13/11/05,
 Rodrigo Braga> > > escreveu:> > > > Pessoal> > > >> > > > Estou com o seguinte dilema, em uma janela de> > > busca> > > > "detalhada" ou usuário poderá preencher N campos> > > para> > > > refinar a busca, e pra isso seria interessante> > > montar> > > > o ZSQL dinamicamente, por exemplo:> > > >> > > > No formulário existe o campo nome, cpf e endereço> > > e se> > > > o usuário preencher os três o zsql será montado> > > com:> > > >> > > > select * from tabela where nome=bla and cpf ...> > > >> > > > caso ele preencha apenas nome ... o WHERE terá> > > apenas> > > > o nome ... algo assim.> > > >> > > > Alguém pode me
 dar uma idéia de como solucionar> > > isso,> > > > ou estou pensando em montar essa busca detalhada> > > com o> > > > pior método possível :-)> > > >> > > > Obrigado a todos!> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > >> > ___> > > > Yahoo! Acesso Grátis: Internet rápida e grátis.> > > > Instale o discador agora!> > > > http://br.acesso.yahoo.com/> > > >> > > >> > > >> > > > Para enviar uma mensagem:> > > zope-pt@yahoogrupos.com.br> > > > Para desistir envie uma mensagem em branco para:> > >
 [EMAIL PROTECTED]> > > > Links do Yahoo! Grupos> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > >> > >> > > Para enviar uma mensagem: zope-pt@yahoogrupos.com.br> > > Para desistir envie uma mensagem em branco para:> > > [EMAIL PROTECTED]> > > Links do Yahoo! Grupos> > >> > >> > >> > > http://br.yahoo.com/info/utos.html> > >> > >> > >> > >> > >> >> >> >> >> >> >> >> >> >> > ___> > Yahoo! Acesso Grátis: Internet rápida e grátis.>
 > Instale o discador agora!> > http://br.acesso.yahoo.com/> >> >> >> > Para enviar uma mensagem: zope-pt@yahoogrupos.com.br> > Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]> > Links do Yahoo! Grupos> >> >> >> >> >> >> >>  Para enviar uma mensagem: zope-pt@yahoogrupos.com.br> Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]> Links do Yahoo! Grupos--:?)Para enviar uma mensagem: zope-pt@yahoogrupos.com.brPara desistir envie uma mensagem em branco para: [EMAIL PROTECTED] Links do Yahoo! Grupos<*> Para visitar o site do seu grupo na web, acesse:   
 http://br.groups.yahoo.com/group/zope-pt/<*> Para sair deste grupo, envie um e-mail para:[EMAIL PROTECTED]<*> O uso que você faz do Yahoo! Grupos está sujeito aos:http://br.yahoo.com/info/utos.html 
		 
Yahoo! Acesso Grátis: Internet rápida e grátis.Instale o discador agora!





Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]





  




  
Yahoo! Grupos, um serviço oferecido por:
  
  
PUBLICIDADE




  
  



  




  
Links do Yahoo! Grupos

Para visitar o site do seu grupo na web, acesse:http://br.groups.yahoo.com/group/zope-pt/ 
Para sair deste grupo

Re: [Zope-pt] Construir ZSQL dinamicamente

2005-11-15 Por tôpico alexandre
eu particularmente prefiro montar o sql através de python script e
chamar a query com:

sql = "select * from tabela"
r = context.bd.manage_test(sql)


Em 14/11/05, José Henrique<[EMAIL PROTECTED]> escreveu:
> Exatamente, usando as tags próprias para os zsql methods você evita
> problemas como "sql injection", que é uma técnica que tenta inserir
> comandos SQL que podem apagar ou corromper dados ou dar acesso a dados
> críticos.
>
> Zénrique
>
> Em 14/11/05, Rodrigo Braga<[EMAIL PROTECTED]> escreveu:
> > Valeu Zé!
> >
> > Consegui deixar minha instrução bem elegante (apesar
> > de ter algumas cláusulas "loucas"), me vi desesperado
> > quando pensei que teria que escrever a instrução
> > baseado em if's, for's e afins :-D
> >
> > E pelo o que pude ver usar as tag's DTML-SQL... ainda
> > tem a vantagem de em relação a segurança e etc.
> > procede?!
> >
> > --- José Henrique <[EMAIL PROTECTED]> escreveu:
> >
> > > Rodrigo,
> > >
> > > Você pode obter o resultado que deseja usando as
> > > tags:
> > > - dtml-sqlgroup
> > > - dtml-sqltest
> > > - dtml-and ou dtml-or
> > >
> > > Um exemplo:
> > >
> > > select * from tabela
> > > 
> > > 
> > > 
> > > 
> > > 
> > >
> > > Caso seja fornecido apenas nome, o resultado será:
> > > select * from tabela where nome='bla'
> > >
> > > Se fornecer nome e cpf o resultado será:
> > > select * from tabela where nome='bla' and
> > > cpf='09909098898'
> > >
> > > Você pode obter mais informações sobre a programação
> > > dos zsql methods
> > > no Zope Book.
> > >
> > > Zénrique
> > > Em 13/11/05, Rodrigo Braga<[EMAIL PROTECTED]>
> > > escreveu:
> > > > Pessoal
> > > >
> > > > Estou com o seguinte dilema, em uma janela de
> > > busca
> > > > "detalhada" ou usuário poderá preencher N campos
> > > para
> > > > refinar a busca, e pra isso seria interessante
> > > montar
> > > > o ZSQL dinamicamente, por exemplo:
> > > >
> > > > No formulário existe o campo nome, cpf e endereço
> > > e se
> > > > o usuário preencher os três o zsql será montado
> > > com:
> > > >
> > > > select * from tabela where nome=bla and cpf ...
> > > >
> > > > caso ele preencha apenas nome ... o WHERE terá
> > > apenas
> > > > o nome ... algo assim.
> > > >
> > > > Alguém pode me dar uma idéia de como solucionar
> > > isso,
> > > > ou estou pensando em montar essa busca detalhada
> > > com o
> > > > pior método possível :-)
> > > >
> > > > Obrigado a todos!
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > ___
> > > > Yahoo! Acesso Grátis: Internet rápida e grátis.
> > > > Instale o discador agora!
> > > > http://br.acesso.yahoo.com/
> > > >
> > > >
> > > >
> > > > Para enviar uma mensagem:
> > > zope-pt@yahoogrupos.com.br
> > > > Para desistir envie uma mensagem em branco para:
> > > [EMAIL PROTECTED]
> > > > Links do Yahoo! Grupos
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > > Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
> > > Para desistir envie uma mensagem em branco para:
> > > [EMAIL PROTECTED]
> > > Links do Yahoo! Grupos
> > >
> > >
> > >
> > > http://br.yahoo.com/info/utos.html
> > >
> > >
> > >
> > >
> > >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > ___
> > Yahoo! Acesso Grátis: Internet rápida e grátis.
> > Instale o discador agora!
> > http://br.acesso.yahoo.com/
> >
> >
> >
> > Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
> > Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
> >
>
>
> Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
> Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>


--
:?)


Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/zope-pt/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [Zope-pt] Construir ZSQL dinamicamente

2005-11-14 Por tôpico José Henrique
Exatamente, usando as tags próprias para os zsql methods você evita
problemas como "sql injection", que é uma técnica que tenta inserir
comandos SQL que podem apagar ou corromper dados ou dar acesso a dados
críticos.

Zénrique

Em 14/11/05, Rodrigo Braga<[EMAIL PROTECTED]> escreveu:
> Valeu Zé!
>
> Consegui deixar minha instrução bem elegante (apesar
> de ter algumas cláusulas "loucas"), me vi desesperado
> quando pensei que teria que escrever a instrução
> baseado em if's, for's e afins :-D
>
> E pelo o que pude ver usar as tag's DTML-SQL... ainda
> tem a vantagem de em relação a segurança e etc.
> procede?!
>
> --- José Henrique <[EMAIL PROTECTED]> escreveu:
>
> > Rodrigo,
> >
> > Você pode obter o resultado que deseja usando as
> > tags:
> > - dtml-sqlgroup
> > - dtml-sqltest
> > - dtml-and ou dtml-or
> >
> > Um exemplo:
> >
> > select * from tabela
> > 
> > 
> > 
> > 
> > 
> >
> > Caso seja fornecido apenas nome, o resultado será:
> > select * from tabela where nome='bla'
> >
> > Se fornecer nome e cpf o resultado será:
> > select * from tabela where nome='bla' and
> > cpf='09909098898'
> >
> > Você pode obter mais informações sobre a programação
> > dos zsql methods
> > no Zope Book.
> >
> > Zénrique
> > Em 13/11/05, Rodrigo Braga<[EMAIL PROTECTED]>
> > escreveu:
> > > Pessoal
> > >
> > > Estou com o seguinte dilema, em uma janela de
> > busca
> > > "detalhada" ou usuário poderá preencher N campos
> > para
> > > refinar a busca, e pra isso seria interessante
> > montar
> > > o ZSQL dinamicamente, por exemplo:
> > >
> > > No formulário existe o campo nome, cpf e endereço
> > e se
> > > o usuário preencher os três o zsql será montado
> > com:
> > >
> > > select * from tabela where nome=bla and cpf ...
> > >
> > > caso ele preencha apenas nome ... o WHERE terá
> > apenas
> > > o nome ... algo assim.
> > >
> > > Alguém pode me dar uma idéia de como solucionar
> > isso,
> > > ou estou pensando em montar essa busca detalhada
> > com o
> > > pior método possível :-)
> > >
> > > Obrigado a todos!
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> ___
> > > Yahoo! Acesso Grátis: Internet rápida e grátis.
> > > Instale o discador agora!
> > > http://br.acesso.yahoo.com/
> > >
> > >
> > >
> > > Para enviar uma mensagem:
> > zope-pt@yahoogrupos.com.br
> > > Para desistir envie uma mensagem em branco para:
> > [EMAIL PROTECTED]
> > > Links do Yahoo! Grupos
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
> > Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
> > Para desistir envie uma mensagem em branco para:
> > [EMAIL PROTECTED]
> > Links do Yahoo! Grupos
> >
> >
> >
> > http://br.yahoo.com/info/utos.html
> >
> >
> >
> >
> >
>
>
>
>
>
>
>
>
>
> ___
> Yahoo! Acesso Grátis: Internet rápida e grátis.
> Instale o discador agora!
> http://br.acesso.yahoo.com/
>
>
>
> Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
> Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>


Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/zope-pt/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [Zope-pt] Construir ZSQL dinamicamente

2005-11-13 Por tôpico Rodrigo Braga
Valeu Zé!

Consegui deixar minha instrução bem elegante (apesar
de ter algumas cláusulas "loucas"), me vi desesperado
quando pensei que teria que escrever a instrução
baseado em if's, for's e afins :-D

E pelo o que pude ver usar as tag's DTML-SQL... ainda
tem a vantagem de em relação a segurança e etc.
procede?!

--- José Henrique <[EMAIL PROTECTED]> escreveu:

> Rodrigo,
> 
> Você pode obter o resultado que deseja usando as
> tags:
> - dtml-sqlgroup
> - dtml-sqltest
> - dtml-and ou dtml-or
> 
> Um exemplo:
> 
> select * from tabela
> 
> 
> 
> 
> 
> 
> Caso seja fornecido apenas nome, o resultado será:
> select * from tabela where nome='bla'
> 
> Se fornecer nome e cpf o resultado será:
> select * from tabela where nome='bla' and
> cpf='09909098898'
> 
> Você pode obter mais informações sobre a programação
> dos zsql methods
> no Zope Book.
> 
> Zénrique
> Em 13/11/05, Rodrigo Braga<[EMAIL PROTECTED]>
> escreveu:
> > Pessoal
> >
> > Estou com o seguinte dilema, em uma janela de
> busca
> > "detalhada" ou usuário poderá preencher N campos
> para
> > refinar a busca, e pra isso seria interessante
> montar
> > o ZSQL dinamicamente, por exemplo:
> >
> > No formulário existe o campo nome, cpf e endereço
> e se
> > o usuário preencher os três o zsql será montado
> com:
> >
> > select * from tabela where nome=bla and cpf ...
> >
> > caso ele preencha apenas nome ... o WHERE terá
> apenas
> > o nome ... algo assim.
> >
> > Alguém pode me dar uma idéia de como solucionar
> isso,
> > ou estou pensando em montar essa busca detalhada
> com o
> > pior método possível :-)
> >
> > Obrigado a todos!
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
___
> > Yahoo! Acesso Grátis: Internet rápida e grátis.
> > Instale o discador agora!
> > http://br.acesso.yahoo.com/
> >
> >
> >
> > Para enviar uma mensagem:
> zope-pt@yahoogrupos.com.br
> > Para desistir envie uma mensagem em branco para:
> [EMAIL PROTECTED]
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
> >
> 
> 
> Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
> Para desistir envie uma mensagem em branco para:
> [EMAIL PROTECTED] 
> Links do Yahoo! Grupos
> 
> 
> 
> http://br.yahoo.com/info/utos.html
> 
>  
> 
> 
> 









___ 
Yahoo! Acesso Grátis: Internet rápida e grátis. 
Instale o discador agora!
http://br.acesso.yahoo.com/



Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/zope-pt/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [Zope-pt] Construir ZSQL dinamicamente

2005-11-13 Por tôpico José Henrique
Rodrigo,

Você pode obter o resultado que deseja usando as tags:
- dtml-sqlgroup
- dtml-sqltest
- dtml-and ou dtml-or

Um exemplo:

select * from tabela






Caso seja fornecido apenas nome, o resultado será:
select * from tabela where nome='bla'

Se fornecer nome e cpf o resultado será:
select * from tabela where nome='bla' and cpf='09909098898'

Você pode obter mais informações sobre a programação dos zsql methods
no Zope Book.

Zénrique
Em 13/11/05, Rodrigo Braga<[EMAIL PROTECTED]> escreveu:
> Pessoal
>
> Estou com o seguinte dilema, em uma janela de busca
> "detalhada" ou usuário poderá preencher N campos para
> refinar a busca, e pra isso seria interessante montar
> o ZSQL dinamicamente, por exemplo:
>
> No formulário existe o campo nome, cpf e endereço e se
> o usuário preencher os três o zsql será montado com:
>
> select * from tabela where nome=bla and cpf ...
>
> caso ele preencha apenas nome ... o WHERE terá apenas
> o nome ... algo assim.
>
> Alguém pode me dar uma idéia de como solucionar isso,
> ou estou pensando em montar essa busca detalhada com o
> pior método possível :-)
>
> Obrigado a todos!
>
>
>
>
>
>
>
>
> ___
> Yahoo! Acesso Grátis: Internet rápida e grátis.
> Instale o discador agora!
> http://br.acesso.yahoo.com/
>
>
>
> Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
> Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED]
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>


Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/zope-pt/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html