Postado por Marcus Antonius - 13 set, 2009. em
php
Aplicações Web PHP podem acrescentar estado nas suas aplicações de forma muito fácil, porque a ilusão de estado é mantida através do ID de uma sessão e nela podemos transportar informações entre uma página e outra sem perdê-la no meio do caminho. Talvez você já tenha perdido uma produtividade potencial por conta de bugs bizarros ou até mesmo brechas de segurança por causa dessas belezinhas. Aqui vão quatro dicas para evitar que você fique perdendo tempo e garanta o seu site.
1. Não use underscores em hostnames
A menos que você tenha memorizado o RFC de caracteres permitidos no nome do host, você pode não estar ciente de que não é permitido colocar underscores em nomes de hosts. Em alguns browsers, como o firefox, não aplica esta proibição, mas o Internet Explorer vai se recusar a setar um cookie/session cujo hostname possua underscores. O IE vai fazer com que em cada página carregada seja gerado um novo ID de sessão. Mas o usuário nunca vai aceitá-la. Fonte: documentação set_cookie.
2. Atualize suas sessões depois de redirects
Você deve chamar a função session_write_close (ou pelo alias session_commit) para escrever os dados na sessão antes que qualquer HTTP Location redirects seja emitido. Este comando também “libera” a sessão do usuário assim ele pode fazer outras atividades na sua aplicação. Veja os comentários por cenaculo e bkatz.
3. Prevenindo a fixação de sessão
Fixação de sessão ou session fixation, permite que qualquer usuário mal intencionado receba o id de uma sessão válida passando um simples link. Sem predizê-la ou roubá-la do cookie de algum usuário ou através de um $_GET comum. A vitima é pega utilizando o id da sessão gerada pelo “hacker” e não através do servidor. Você pode prevenir este tipo de ataque chamando a função session_regenerate_id(), particularmente após armazenar informações importantes como o nome de um login ou uma flag. Isso vai mostrar para o “hacker” um id de sessão inútil. Chris Shifflet fez uma discussão mais meticulosa sobre Session Fixation.
4- Não exponha id’s de sessão.
Cookies talvez sejam, relativamente, o lugar mais seguro para armazenar o id de suas sessões se comparando a incorporá-la diretamente na sua url (via PHPSESSID). Aqui vão duas configurações (via php.ini) para controlar este comportamento, cada um deles são muito importantes, por isso você deve setar ambos. Você deve setar o session.use_trans_sid para (off) e se você estiver utilizando PHP 4.3.0 ou superior você pode setar também session.use_only_cookies para “1?.
fonte: iMasters

Tags:php, sessões
Postado por Marcus Antonius - 18 ago, 2009. em
php
Tekuna is small, just 3000 source lines of code, it improves reusability with a component-oriented definition of the application and intuitive routing. Its small footprint will not pollute your codebase with unnecessary stuff.

Below a more detailed features list for Tekuna :
- Component-oriented Definition of the Application
- Intuitive Routing of Actions to Controllers
- Friendly URLs (RESTful API)
- MVC Architecture
- PHP Error handling with Exceptions (and thus catchable)
- Separate Request and Response Objects
- Strict Input Filtering
- Full UTF-8 Support
- Support for multiple Template Engines
- Simple Multilanguage Support
- Fully Unit-tested
- 100% E_STRICT Compliant
- Combinable with many other frameworks (Templating, ORM, Unit-testing…)
- Geared to java programming and naming style
- Open Source under an MIT License
Current Tekuna version os 0.1.189 requires PHP 5.2.1 with mod_rewrite enabled on your Apache webserver. A quick start is available to understand Tekuna principles, architecture and features. The project is at its early stage and not ready for production, but you might check the project’s roadmap to have a better idea about what’s coming next.

Tags:framework, php, tekuna
Postado por Marcus Antonius - 4 ago, 2009. em
php
Aprenda a adicionar a documentação do PHP.net na barrinha de busca do Mozilla Firefox e tenha acesso rápido e certeiro à documentação da função ou funcionalidade que você procura.
Hoje vou dar uma dica básica pra todo mundo que gosta de trabalhar com PHP e precisa, constantemente, acessar o PHP.net para tirar dúvidas sobre as funções/argumentos/parâmetros/classes e etc… É uma documentação maravilhosa que todos devemos visitar pelo menos uma vez por dia.
A maioria dos desenvolvedores usa o Mozilla Firefox pela vantagem enorme dos plugins de desenvolvimento e eu gosto muito do FF por causa daquela barrinha de busca que fica do lado da “wonderfull bar“… E eu vou mostrar pra vocês como colocar o PHP.net ali, pra você digitar o nome da função e cair direto na documentação dela.
Primeiro acesse o PHP.net e repare que o íconezinho da barra de busca vai ficar azulado:
figura 1
Agora é só clicar na setinha e clicar em Adicionar “Add PHP.net search”, como mostra a imagem:
Leia mais…

Tags:firefox, php, php.net
Postado por Marcus Antonius - 1 ago, 2009. em
php
Se você – a esta altura do campeonato – não faz idéia do que é um “tweet”, ponha-se daqui para www.twitter.com !
Agora ! Podemos conversar de igual pra igual. Pense em um framework. Uma coisa grande. Com várias opções, módulos, suporte a plugins, MVC, talvez um Data Mapper, etc, etc, etc. Agora pense em um tweet: 140 caracteres. São coisas como óleo e água, gato e cachorro, são paulinos e mulheres (eu ainda vou escutar por causa disso).
Pois bem, tentando mostrar a beleza feminina aos São Paulinos – ou que um framework não precisa ser uma coisa grande, pra quem não entendeu a piada -, o fundador do Symphony (o framework) criou o Twitto: um framework do tamanho de um tweet, ou seja: 140 caracteres. Na verdade – e lógico – ele não e grande coisa, simplismente funciona como um Front Controller bem básico. Mas é uma prova de conceito e usa novas features do PHP 5.3, enfim … o dito cujo segue abaixo.
1 <?php
2 require __DIR__.’/c.php’;
3 if (!is_callable($c = @$_GET['c'] ?: function() { echo ‘Woah!’; }))
4 throw new Exception(‘Error’);
5 $c();
Agora você pode se parguntar, quais são as coisas “novas” que o twitto está usando, simples:
Constante __DIR__
Operador ?:
Funções anônimas
No fim, o Twitto existe apenas como brincadeira, e para mostrar alguns novos recursos do PHP 5.3, mas se ele realmente for aceito como framework ele é o mais rápido existente. Mais pra frente mostro uns benchmarks que estou fazendo e o twitto já está neles.
O site do Twitto é: www.twitto.org
fonte: PHPSP.og.br

Tags:framework, php, twitter
Postado por Marcus Antonius - 30 jul, 2009. em
php
Nesse Post irei fazer uma sínstese de uma séries de postagens sobre o uso de frameworks em php e também o que de fato um framework não é.
PHP é a linguagem de programação mais famosa do mundo por várias razões: flexibilidade, facilidade de uso e vários outros fatores. Mas algumas vezes a programação se torna monótona e/ou repetitiva, e é aí que um framework pode ajudar.
O que é um framework de PHP?
De forma resumida o framework é uma estrutura, uma fundação para você criar a sua aplicação. Em outras palavras o framework te permite o desenvolvimento rápido de aplicações (RAD), o que faz economizar tempo, ajuda a criar aplicações mais sólidas e seguras além de reduzir a quantidade de código repetido. Os frameworks também permitem que os iniciantes criem aplicações mais estáveis garantindo uma boa relação entre o banco de dados e a camada externa de exibição. Isso tudo te permite gastar mais tempo desenvolvendo a aplicação em si do que repetindo os códigos que todas as aplicações têm.
A idéia padrão de trabalho por trás de um framework no PHP está ligada ao modelo MVC (Model View Controller). MVC é uma forma de programação que isola a lógica de negócio (como a aplicação funciona) da camada de exibição (a parte visual). O Model cuida do banco de dados, o View cuida da camada de exibição e o Controller cuida da lógica de negócio. Isso tudo faz com que você trabalhe mais rápido e de forma setorizada.
Por que usar um framework de PHP?
Os desenvolvedores utilizam frameworks por vários motivos, e o maior deles é para agilizar o processo de desenvolvimento. A re-utilização de código em vários projetos vai economizar muito tempo e trabalho? Isso é garantido, pois o framework já traz uma série de módulos pré-configurados (e funcionando) para fazer as mais variadas e comuns tarefas como envio de e-mails, conexão com o banco de dados, sanitização (limpeza) de dados e proteção contra ataques.
Estabilidade é outra grande vantagem dos frameworks. A simplicidade, que é um dos grandes “feitos” do PHP, também é o que possibilita inúmeros erros e falhas pelos principiantes? Nem todo código que funciona necessariamente está correto e bem desenvolvido.
Leia mais…

Tags:framework, php
Postado por Marcus Antonius - 13 jul, 2009. em
php
Olá todos, gostaria de me desculpa pela demora nas postagens, mas o tempo tava muito corrido.
Agora retomando as postagens venho apresentar (é, eu sei, já faz uns dias…) a nova versão do PHP.
O PHP 3.5 traz algumas inovações muito esperadas para a comunidade desenvolvedora.
Correção de bugs
Foram mais de 140 pequenos problemas corrigidos, tornanado essa uma das versões mais estáveis do interpretador PHP.
Namespaces
Muito usados em outras linguagens, servem para agrupar trechos de código e protegê-los e evitar conflitos com outras partes do código.
Garbage Colector
Permite, entre outras coisas, armazenar o conteúdo de variáveis em cache, podendo serem resgatadas a qualquer momento.
Funções Anônimas
Permitem a criação de funções sem um nome específico, o que facilitará a implementação de funções de callback, com chamadas indiretas e respostas semelhantes às de funções tradicionais.
Integração com MySQL
Novos drivers para acesso a bancos de dados, que agilizarão ainda mais as buscas, além de ampliar a compatibilidade com novos modelos.

Tags:php, php 5.3
Postado por Marcus Antonius - 28 mai, 2009. em
php
Uma coisa que recentemente achei bem legal foi a descoberta de podcasts sobre PHP.
Primeiro foi o PHP Podcast, muito interessante, porém apenas em inglês.
Então pesquisando achei o grupo de usuários de PHP de SP, o PHPSP, e vi que eles criaram o PHPSPCast, que está tendo uma recepção incrível com diversas mensagens de apoio e incentivo, além de centenas de downloads em poucos dias.

Tags:php, podcast
Postado por Marcus Antonius - 23 mar, 2009. em
eventos,
php
Parabéns a todos que participaram e, principalmente, organizaram o II PHP-PB! A cada encontro os níveis da palestra vai ficando cada vez mais interessante!
Para quem não teve o prazer de presenciar um evento como esse, segue os links de fotos, slides e do twitter do Encontro:
Slides
Fotos
Twitter

Tags:paraíba, php, php pb
Postado por Marcus Antonius - 17 fev, 2009. em
eventos,
php
Olá galera! Peço desculpas pelo “sumiço” mas eu estive muito ocupado com as coisas da pós-graduação que eu faço e também porque eu estou mudando de bairro, aí a correria ta grande!
Mas volto com ótimas notícias! o II Encontro de Usuários PHP da Paraíba!!!!
O II Encontro de Usuários PHP da Paraíba é um evento voltado para disseminar o uso da linguagem de programação PHP, especialmente
desenvolvida para a criação de sistemas na Internet. O público estimado é de 250 participantes, vindos dos estados da Paraíba, Pernambuco e Rio Grande do Norte, e será realizado no auditório do Unipê, em João Pessoa, na data de 7 de março de 2009.
Incrições no site www.php-pb.net .
O objetivo principal do evento é mostrar para o mercado a viabilidade de se adotar como padrão de desenvolvimento uma linguagem amadurecida, robusta, com excelente suporte técnico, de rápido desempenho e, acima de tudo, totalmente livre de licenças.
Por sua vez, a comunidade de desenvolvedores é estimulada à descoberta de sua imensa potencialidade, facilidade de aprendizado e viabilidade
mercadológica, ao passo que também são incentivados ao aprimoramento profissional e à busca constante da qualidade em serviços.
Com uma grade de palestras bastante diversificada e focada em temas tecnológicos atuais e relevantes, o II Encontro de Usuários PHP da
Paraíba passa a ocupar um importante papel na formação de opinião, tanto da classe empresarial quanto da classe profissional, acerca da
cultura da tecnologia da informação em nosso estado.
Finalmente, o II Encontro de Usuários PHP da Paraíba cumpre com seu papel de responsabilidade social por incentivar aos seus participantes
a doação de gêneros alimentícios destinados à Casa da Criança com Câncer, instituição filantrópica que dá apoio aos pacientes e familiares vindos do interior em busca de tratamento no Hospital do Câncer Napoleão Laureano.
Programação:
* 08:00 – Credenciamento
* 08:30 – Abertura
* 09:00 – Social Media e Wordpress: o poder dos plugins e themes PHP – José Fernando S. Carvalho “Fish”
* 10:00 – Desenvolvimento organizado com controle de versão – Alwin Garside
* 11:00 – PHP nas nuvens: Desenvolvendo para o mercado corporativo – Marcos Bezerra
* 12:00 às 14:00 – Intervalo para almoço
* 14:00 – Moodle: Integração de Sistemas em PHP – Gleidson Lacerda
* 15:00 – Aplicações Web Acessíveis – Diego Pessoa
* 16:00 às 16:30 – Coffee-break
* 16:30 – PHP Jedi – Boas práticas e alta performance – Felipe
Ribeiro
* 17:30 – Caminhos para a certificação Zend – José Berardo
* 18:30 – Mesa Redonda para resolução do ZCE Practice Test
* Pós-evento: PHPinga/PHPizza

Tags:paraíba, php, php pb
Postado por Marcus Antonius - 16 dez, 2008. em
eventos,
php
Abaixo segue os slides da minha palestra sobre como desacoplar lógica e layout usando o Smarty Template.

Tags:marcus, php, smarty