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

 


Responder a