OOP com CF
Publicado; 10/12/2003 Arquivado em: ColdFusion Comentários desativados em OOP com CFUma apresentação que rolou na MAX 2003 – e que está disponibilizada na web em formato FlashPaper – é a Object Oriented ColdFusion. Em suma, como escrito na própria apresentação, a idéia é mostrar como aplicar conceitos de orientação a objetos ao desenvolvimento em ColdFusion. CFC na veia.
Security Patch para CFMX e JRun 4
Publicado; 10/12/2003 Arquivado em: ColdFusion Comentários desativados em Security Patch para CFMX e JRun 4Uma brecha de segurança no parser XML empacotado e usado pelo CFMX/JRun4 (Apache Crimson 1.1) pode tornar o servidor vulnerável a ataques de negação de serviço. Trata-se de uma vulnerabilidade conhecida no Crimson desde o mês passado e já é recorrente.
Vejam detalhes aqui:
Security Patch available for ColdFusion MX and JRun 4.0 Web Services DoS
O patch faz a atualização para a última versão do Crisom 1.3 (de Outubro de 2003).
OBS: se você precisa fazer coisas muito específicas em XML você pode usar o Apache Xerces (um parser XML mais parrudo) ao invés do Crimson. Veja este interessante post de Brandon Purcell.
Coral?
Publicado; 04/12/2003 Arquivado em: ColdFusion 2 ComentáriosSempre vi pessoas comentando sobre como desenvolver uma aplicação em ColdFusion e vendê-la como um pacote completo, incluindo o servidor, mas sem pagar uma nota preta por isso (preço de uma licença inteira de CFMX da Macromedia). Até hoje o BlueDragon era uma possível resposta para isso. Hoje vi que pode existir uma segunda, nova e bastante interessante alternativa!
Não deixe de conferir o Coral Web Builder.
[via daemonite]
A “Fortaleza” da Macromedia
Publicado; 01/12/2003 Arquivado em: ColdFusion 4 ComentáriosNeste final de semana fui comprar a edição de dezembro da revista WWW.com.br – revista que passei a ler depois dos meus 15 minutos de fama na edição passada – e tive a grata surpresa de encontrar uma entrevista com o barbudão Ben Forta, falando sobre ColdFusion e suas vantagens perante às tecnologias ASP e PHP.
A íntegra da reportagem você encontra nas bancas. Vale a pena, a revista é de qualidade e bastante atual, com destaque para hosting providers (uma extensa lista de hostings que oferecem ColdFusion e outras tecnologias) e reportagens variadas e interessantes. O CD que vêm na edição deste mês (que custa R$ 12,90) tem ótimos programas (a maioria freeware) e um longo e extenso tutorial de ActionScript em forma de vídeoaulas.
UPDATE: Ben Forta fez um rápido comentário sobre a entrevista (incluindo o screenshot da capa – para quem quiser comprar na banca) em seu blog.
Você sabia? CreatTimeSpan()
Publicado; 27/11/2003 Arquivado em: ColdFusion 2 ComentáriosNunca tinha parado para pensar nisso, mas gostei da dica que encontrei semana passada no HOF. Eis que temos o óbvio: a função CreateTimeSpan() – ou em “português” CriarIntervaloDeTempo() – é usada para se criar valores de tempo (em número de dias – um dia será 1, 1/2 dia será 0,5 e assim por diante).
Em 90% dos casos ela é usada para setar timeouts e outras informações de tempo como por exemplo o que a sua aplicação se manterá ativa (na tag cfapplication) e também em outras propriedades de tempo tal como num cache de query, pelo atributo cachedwithin (o quê? você não cacheia suas queries?!!). Neste último, é comum vermos sets para dias exatos, como um dia, dois e até um mês inteiro (queries de informações que nunca mudam, por exemplo).
Eis que lhe pergunto: você já experimentou rodar isso aqui e ver o que dá?
O resultado vai ser um sonoro “1” (sem aspas) na tela do seu browser. O que isso significa (além de que a função retorna valores em dias)? Significa que se você quiser determinar o tempo de permanência de uma query no cache do servidor você pode usar cachedwithin=”1″ e pronto. Não precisa ficar se lembrando de que na função CreateTimeSpan() o primeiro atributo significa dias, o segundo horas e assim por diante… (eu não consigo decorar essas coisas). Com essa abordagem você também pode poupar alguns nanosegundos de processamento já que o CFServer não vai precisar processar a função. Best-pratice? Nunca, never, nie! Esta é apenas uma curiosidade e uma abordagem diferente para você usar em suas aplicações caso esteja de saco cheio de ficar digitando CreateTime…. em todo lugar onde você quiser valores de dias inteiros para especificar.
O porém fica por conta de valores menores que um dia (comuns em cfapplication). Já pensou uma aplicação que só pode ficar ativa por 15 minutos? O valor de #CreateTimeSpan(0,0,15,0)# é “0.0104166666667”. Decida você o que é mais fácil digitar e entender…
Enquanto isso…
Publicado; 27/11/2003 Arquivado em: ColdFusion 5 ComentáriosMais um da série “Enquanto isso…”. Desta vez dou uma dica: trata-se de uma organização mantida por um grande (grande mesmo) banco brasileiro. O site é público e aberto, além de ser bem bonito e interessante, falando inclusive sobre cybercultura. As pastas safadas estão presentes no próprio domínio do site, não foi preciso fazer nenhum tracert, ping ou qualquer outra baboseira para encontrá-las sob um IP ou outro hostname.
A pasta CFDOCS contém inúmeros exemplos de aplicações, algumas delas podem ser usadas para fazer upload de arquivos em qualquer parte do servidor, por qualquer um!
Um diretório CFIDE/administrator pode ser facilmente quebrado usando um aplicativo “réquer” de brute-force, por exemplo. Além disso, no CF 4.0 temos um bug de buffer-overflow no administrator que, ao inserirmos uma string gigante (uma senha tem em média 8 caracteres, estamos falando de milhares, um doc do word de 30 páginas…) no campo onde se espera a senha de acesso o CFServer.exe cai e nunca mais volta (até alguém apertar o botãozinho de reboot)…
Os respectivos administradores de sistema do dito cujo já foram avisados e contactados sobre o assunto. Depois dizem que o CFServer é que é inseguro…
Leia algumas security best pratices que fiz sobre estes dois assuntos aqui.
Quando eu devo usar CFLOCK?
Publicado; 26/11/2003 Arquivado em: ColdFusion 2 ComentáriosEsta semana andou rolando na lista CF-Brasil algumas perguntas sobre o uso da tag CFLOCK em CFMX. Não tem segredo ou complicação. Procure nos arquivos da lista ou então leia esta FAQ, feita por Ben Forta e disponível no CFFAQ.com:
A função da tag CFLOCK é a de controlar o acesso simultâneo de um pedaço de código ou mesmo de um escopo inteiro de variável. Versões anteriores do ColdFusion (pré CFMX) tinham uma limitação em que acessos simultâneos não protegidos à variáveis compartilhadas (como SESSION ou APPLICATION) podiam resultar em acessos indevidos à memória do servidor e, como consequência, falha do mesmo. Isso já não acontece com o ColdFusion MX, porém ainda existem casos onde devemos usar a tag CFLOCK. Primeiramente qualquer código que não é feito para acesso multi-usuário (tags de terceiros, acesso a arquivos de sistema, etc) deve ser protegido para garantir o acesso de forma sequenciada (em oposição ao acesso concorrente). Depois, mesmo que o acesso à variáveis compartilhadas não cause problemas no servidor, ele pode causar problemas de inconsistência na sua aplicação. Por exemplo, se uma aplicação atualiza um valor de uma variável do tipo APPLICATION e o código para esta atualização não está protegido com o lock, existe a possibilidade de usuários acessarem valores antigos (ainda não atualizados) e ao mesmo tempo valores novos (já atualizados). Talvez isso não seja um problema, dependendo da sua aplicação, porém se isso estiver afetando-a, é o caso de usar CFLOCK.
CF Technotes via RSS
Publicado; 26/11/2003 Arquivado em: ColdFusion 1 comentárioNão usa nenhum feeder reader ainda? Então agora você tem mais um bom motivo para usar:
CFMX TechNotes RSS feed. Receba os TechNotes de ColdFusion direto da Macromedia no seu desktop.
Múltiplas instâncias de CFMX
Publicado; 24/11/2003 Arquivado em: ColdFusion 2 ComentáriosTudo o que você gostaria de saber sobre como instalar múltiplas instâncias do CFMX no Jrun (CFMX for J2EE) mas tinha medo de perguntar:
ColdFusion MX 6.1 Step-by-Step Creating and Configuring Multiple Instances
Leitura recomendada.
Blackstone: vídeos da MAX2003
Publicado; 21/11/2003 Arquivado em: ColdFusion 1 comentárioDepois da excelente e divertidíssima apresentação feita pelo Marco Antonio (CFUG-Rio) direto da MAX2003, disponibilizo para download dois vídeos “undergrounds” de duas apresentações da MAX sobre o novo ColdFusion, codinome “blackstone”.
O primeiro é a apresentação oficial feita pelo Ben Forta ontem, dia 20 – veja o post relacionado. O segundo vídeo é da apresentação do Mike Nimer, feita hoje, durante o sneak peek, demonstrando (num protótipo “flexado”) algumas das prováveis novas funcionalidades do Blackstone.
Os vídeos estão em formato QuickTime e requerem o dito cujo para assistir. Estão um pouco escuros e desfocados, mas dá para entender e ver boa parte das apresentações, incluindo o figurino inusitado em que o pessoal da Macromedia se meteu: abelhas humanas! (juro que não entendi). Ambos foram gravados e disponibilizados por Ken Azuma, o qual somos imensamente agradecidos!!
– Blackstone, por Ben Forta (12Mb)
– Blackstone no sneak peek, por Mike Nimer (5Mb)
BTW: confiram também os comentários-calúnia do Jonas Galvez sobre a apresentação do Marco…