Adicionando o cake no PATH do Ubuntu

Vo postar isso aqui só para não ficar perguntando pro Raví toda vez como faz para adicionar o comando “cake” do Cake PHP no PATH do meu Ubuntu, pra não ter que ficar entrando na pasta console do cake e digitar ./cake bla bla bla

Entre na pasta do seu home (ex: /home/porkaria)

porkaria@gilbrother:~$ gedit .bashrc

Vá até o final do arquivo e adicione

export PATH=$PATH:/caminho/ate/a/pasta/cake/console/

E depois é só dar o seguinte comando

porkaria@gilbrother:~$ source .bashrc

Aí é só ser feliz com o seu cake, pode estar em qualquer diretório e lugar no seu linux, é só digitar “cake” que a luz irá acender.

Projeto PHP Mobile

Aopa!

Ando numa correria lascada, essa semana lancei o meu projeto e nem tive tempo de divulgar no meu blog… que coisa, mas segue a mensagem que estou divulgando por aí.

PHP Mobile

Um projeto voltado aos desenvolvedores PHP para incentivar o desenvolvimento para os dispositivos móveis utilizando de soluções baseadas em PHP. Vamos postar aqui notícias e artigos, mostrando o espaço no mercado que o PHP pode conquistar e disponibilizar ferramentas para auxiliar os desenvolvedores.

Últimas novidades do projeto:
– Sebrae SP, nosso primeiro Show Case
http://www.phpmobile.com.br/2009/05/24/sebrae-sp-nosso-primeiro-showcase/

– IsMobile, versão 1.0 disponível
http://www.phpmobile.com.br/2009/05/22/ismobile-versao-01-disponivel/

– O que são Multimídias Móveis? (Dispositivos Móveis)
http://www.phpmobile.com.br/2009/05/19/o-que-e-um-multimidia-movel/

Quer acompanhar a crescimento do projeto?

Twitter: http://twitter.com/phpmobile
Rss: http://www.phpmobile.com.br/feed/
Lista: http://groups.google.com.br/group/phpmobile

Para saber mais sobre o projeto acesse: http://www.phpmobile.com.br/sobre

obs: eu criei o projeto, mais tenho amigos me ajudando e estão listados na sessão Equipe do site =]

Jogo Rápido: O que é o Moodle ?

O que é o Moodle ?

Modular Object-Oriented Dynamic Learning Environment – Moodle é um software livre, de apoio à aprendizagem, executado num ambiente virtual.

Como pode ser usado?

Os cursos Moodle podem ser configurados em três formatos, de acordo com a atividade a ser desenvolvida:

  • Formato Social – em que o tema é articulado em torno de um fórum publicado na página principal;
  • Formato Semanal – no qual o curso é organizado em semanas, com datas de início e fim;
  • Formato em Tópicos – onde cada assunto a ser discutido representa um tópico, sem limite de tempo pré-definido.

O que preciso e como faço para baixar e instalar ?

O programa é gratuito (ver licença GNU-GPL) e pode ser instalado em diversos ambientes (Unix, Linux, Windows, Mac OS) desde que os mesmos consigam executar a linguagem PHP. Como base de dados podem ser utilizados MySQL, PostgreSQL, Oracle, Access, Interbase ou ODBC.

Baixando: http://download.moodle.org/

Para instalar é só seguir esse passo-a-passo: http://docs.moodle.org/pt/Instala%C3%A7%C3%A3o_do_Moodle

Fiquei com preguiça de instalar e quero experimentar antes.

Acesse: http://demo.moodle.org/

Todo o mundo usa Moodle! Duvida?

http://moodle.org/sites/moodle-registered-sites-20061001-large-sm.png

Ctrl+c   Ctrl+v  de:

  1. http://moodle.org/
  2. http://pt.wikipedia.org/wiki/Moodle

Compactar e Criptografar javascript usando o php

Quer compactar e criptografar um arquivo javascript automaticamente usando PHP ?

Fácil é só usar essa classe aqui: http://joliclic.free.fr/php/javascript-packer/en/

Exemplo:

require 'class.JavaScriptPacker.php';
$script = file_get_contents("caminho/ate/o/arquivo.js");
$packer = new JavaScriptPacker($script, 'Normal', true, false);
$packed = $packer->pack();
file_put_contents("caminho/ate/o/novoarquivo.js", $packed);

Cuidado com o que você esquece no servidor…

Quem desenvolve sistemas para web sabe que o ambiente de produção nem sempre é aquela maravilha de organização, sempre fica uns arquivos para trás como teste.php, index_antiga.php, naosei.exemplo e etc.

Só que infelizmente o mundo não é tão azul assim e existem pessoas que adoram sacanear as coisas. E o mais fácil de achar são projetos com arquivos esquecidos como por exemplo o famoso connect.inc, con.inc, conectar.inc. Isso já mostra o quanto de sobrinhos(amadores) existem no mercado de sistemas para web, isso reflete a baixa profissionalização de programadores para web e a falta de visão das empresas que ainda pagam esses serviços com a filosofia do “bom e barato”.

Se tem uma coisa que todo programador web deveria saber é que O SEU SISTEMA VAI ESTAR NA INTERNET!!! isso parece óbvio para você? ótimo. Pois para uma grande parte de programadores web não.

Vamos fazer um teste? abre o google ai e busca por isso backup filetype:sql. Viram que maravilha?

Ok. não retornou tanto resultado assim, vamos perder mais 5min estudando a busca do google e vamos pesquisar por “bkp” ext:SQL

Ta ficando mais bonito o negocio num ta não? Agora pensa naquele moleque que não tem o que fazer… fica o dia inteiro na internet tentando achar algo para zuar e começa a pesquisar site por site atras desses lixos no servidor? Você programador sabe que muitos programas geram arquivos de backups dos arquivos que estão sendo construidos, por exemplo o Kwrite gera um nomedoarquivo.php~ do arquivo que você ta programando e muitas vezes você manda pro FTP sem nem saber.

Quer ver que legal? pesquisa isso “index” ext:php~

Fala aí… ta ficando divertido não tá? acho que mais meia hora estudando meios de buscar no google e tenho certeza que vou achar alguma senha de conexão a algum banco de dados.

Como eliminar isso? Conheço três soluções:

  1. Tomar vergonha na cara duas vezes ao dia. Uma no inicio do expediente e outra no final.
  2. Usar sempre um controle de versão(svn) e quando você for enviar algo para internet usar o comando svn export projeto projetolimpo que ai vai gerar uma pasta com apenas os arquivos do projeto que foram adicionados ao controle de versão do seu repositório.
  3. Colocar um arquivo robots.txt na raiz da sua aplicação bloqueando o acesso dos robos das buscas no seus diretórios. Você não sabe o que é o robots.txt? O google sabe.

Essa falha de segurança cometida por muitos programadores é apenas a ponta do iceberg.

Para que serve o PHPIDS?

Uma das coisas mais questionadas quando se fala em desenvolver uma aplicação de grande porte em PHP é a segurança. Pois é comum ouvir “o PHP é inseguro” e todo mundo que desenvolve profissionalmente para Web sabe muito bem que quem torna a aplicação vulnerável é na maioria das vezes o oreia seca que cobra mais barato.

E para provar isso mais uma ótima ferramenta está disponível para detectar a tentativa de entrada de código malicioso na sua aplicação Web. O nome dessa maravilha é PHPIDS.

Tá mais o que essa joça faz?

Com ela você pode implementar um script php que será executado automaticamente antes de qualquer requisição via GET no seu sistema e o script irá detectar tentativas de SQL INJECTION, PHP INJECTION, XSS e tudo que é tipo de injeção de código e ainda você poderá pegar o IP do infeliz que ta tentando zuar teu sistema.

É basicamente isso que o PHPIDS faz. Tem mais coisa como salvar isso numa base de dados, logs, a parada é interligada com o apache e tals.

Saiba mais sobre em:

Página oficial do PHPIDS: http://php-ids.org/
Instalando e configurando: http://rmb.homelinux.com/2008/06/25/detectando-intrusos-para-aplicacoes-php-com-o-phpids/
Quer testar antes de instalar?: http://demo.php-ids.org/

PHPSC CONF

O Grupo de Usuários de PHP do Estado de Santa Catarina estará promovendo evento em Chapecó oeste do estado em parceria com a UnoChapecó nos dias 20 e 21 de Junho de 2008.

A grade de palestras pode ser encontrada no endereço:

http://www.phpsc.com.br/?page_id=10&language=pt

As inscrições podem ser realizadas no endereço:

http://www.unochapeco.edu.br/inscricoes/

E informações sobre hospedagem em Chapecó:

http://www.phpsc.com.br/?page_id=11&language=pt

Contamos com sua presença

fonte: http://www.phpsc.com.br/

PHP MS, oficialmente cadastro no PHP TestFest

Olha que maravilha, o PHP MS está oficialmente cadastro para participar do PHP TestFest, se você não sabe o que é isso, acesse essa página http://qa.php.net/testfest.php

A missão dessa TestFest é encontrar bugs nas novidades do PHP 5.3. Para ver a lista de grupos que até agora se cadastraram para participar é só acessar, http://wiki.php.net/qa/testfest

Diz que serão sorteados 10 elePHPantes para os melhores testes realizados, creio que seja para o teste que encontre um bug importante ou critico na parada.

O PHP MS irá realizar o TestFest no dia 10 de maio e os resultados eu vou postar aqui! mas vocês também vão poder acompanhar as novidades pelo site do grupo http://www.phpms.org

Fisl 9.0 – Palestras sobre PHP

awei galera!

No meu primeiro post do blog, vou contar como foram as palestras sobre PHP. Let’s go rock!

Large Scale PHP

Palestrante: Rasmus Lerdorf – http://lerdorf.com/

Opinião: Simplesmente foi o criador do PHP falando sobre PHP, mais completo impossível. No slide da palestra ele mostra um screenshot do primeiro código em PHP e vai mostrando a sua evolução. Depois ele falou sobre otimização de performance do código, só que ele foi bem a fundo nessa questão mostrando ferramentas para aumentar performance tanto no lado do cliente(YSlow) quanto no servidor. Até ai a palestra já teria sido foda, só que ele entrou em outro assunto muito interessante, segurança. Falou sobre XSS e como prevenir usando bibliotecas do próprio PHP.

Só lendo o slide do cara para entender melhor, mas o mais massa e o que não tem no slide foi ouvir ele sempre frisando que o PHP foi uma linguagem criada para resolver os problemas da web de forma rápida e pratica e de como ele torce para que as coisas continuem assim.

Slide da Palestra: http://talks.php.net/show/fisl08/

Duro de Errar 5.0 “Tratamento, Controle e Configuração de erros em PHP 5”

Palestrante: Marcelio Leal – http://marcelioleal.wordpress.com/

Opinião: Gostei muito dessa palestra por duas coisas. Direta e divertida, não teve rodeios para entrar no tema proposto pela palestra e o palestrante soube conduzir bem a palestra, abordou o assunto “Erros no php” de uma forma divertida e mostrando bem o lado do programador nessa questão, mostrou como “evitar conflitos” com o cliente se você souber tratar os seus erros.

Começou mostrando como configurar o php.ini para customizar os seus erros, falou sobre as categorias de erros no PHP e deu uma pequena introdução do PHPUNIT. Com a palestra conseguiu mostrar a necessidade de tratar os erros da sua aplicação, ganhando agilidade na produção do projeto e na sua manutenção.

Slide da Palestra: ssplayer2.swf?doc=app-1208869566469767-8

Prevenindo XSS “Execute apenas o SEU código”

Palestrante: Er Galvão Abbot – http://www.galvao.eti.br/

Opinião: Foi direto ao assunto e abordou bem o problema, mostrou um exemplo real de phishing e explicou como ele funcionava, depois mostrou como prevenir esse tipo de ataque usando funções do PHP e seguindo algumas regras básicas na hora de programar.

Slide da Palestra: http://www.galvao.eti.br/download.php?arquivo=Prevenindo_XSS.pdf

Desenvolvendo portais com o Drupal “Estudo de caso dos portais dos Democratas”

Palestrantes: Guilherme Camargo Tossulino e Hetal Ferrari Cabral

Opinião: Não assisti a palestra até o final, fiquei interessado na palestra pois queria conhecer mais o Drupal, mais até aonde eu assisti a palestra eu não consegui conhecer mais do que eu já sabia, que ele é um CMS, muito usado, premiado e afins. Mais o slide mostra uma lista de módulos para o Drupal bem interessante.

Slide da Palestra: http://www.tossulino.com/wp-content/uploads/2008/04/palestra-drupal.pdf

Implementando Enterprise Patterns em PHP

Palestrante: Pablo Dall’Oglio

Opinião: O Assunto dessa palestra foi uma grande novidade pra mim, era o tipo de coisa que eu já fazia mais não sabia o nome, o Pablo explicou o que são Design Patterns, mostrou exemplos que no nosso dia a dia se encaixam em padrões para conseguir abordar melhor isso na programação e enfim implementar em php, o slide é cheio de códigos didáticos para explicar as várias formas de padrões apresentados.

E os padrões parecem ser o rumo do PHP daqui pra frente, já está inevitável, você precisa programar orientado a objeto e seguir padrões. E essa palestra mostra várias maneiras de padronizar o seu código.

O assunto daria para várias horas de palestra, mas infelizmente eram apenas 40min e não deu para abordar o assunto da maneira que devia, mais o slide ta bem completo e existe um livro, que o próprio Pablo escreveu sobre OOP no PHP que abrange melhor esse assunto.

Slide da Palestra: http://www.dalloglio.net/resources/talks/patterns.pdf