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 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






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 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 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

Responder a