Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

Melhore a Segurança dos Aplicativos da Web com o jQuery Mobile

Aprenda a proteger os seus aplicativos remotos

John Leitch, Application Security Consultant, Freelance
John Leitch é consultor independente de segurança de aplicativos e mora em Grand Rapids, Michigan. Trabalha principalmente com aplicativos da Web e é especialista em teste de imprecisão, análise dinâmica e revisão de código. Sempre à caça de erros, ele lança frequentemente relatórios sobre vulnerabilidade.

Resumo:  Muitos desenvolvedores da Web consideram a segurança como uma prioridade baixa. Frequentemente, a segurança é relegada ao final do ciclo de vida do desenvolvimento de software, como se fosse apenas algo um pouco mais importante que um assunto de última hora. Às vezes, a segurança de software é totalmente negligenciada, o que tem como resultado aplicativos cheios de vulnerabilidades comuns. Como os erros desse tipo talvez só se manifestem sob as condições presentes durante um ataque, podem ser difíceis de detectar antes desses eventos sem o conhecimento de como o processo de utilização funciona. Usando um aplicativo da Web desenvolvido com jQuery Mobile, PHP e MySQL, este tutorial mostra quantos tipos de vulnerabilidades ocorrem, bem como métodos comuns de utilização e, o que é mais importante, suas respectivas contramedidas.

Data:  04/Jul/2011
Nível:  Intermediário

Atividade:  4852 visualizações
Comentários:  

Antes de iniciar

Este tutorial se destina a desenvolvedores em jQuery Mobile interessados em proteger os seus aplicativos. Pressupõe que o leitor tem conhecimento básico sobre o desenvolvimento de aplicativos da Web usando PHP, MySQL, JavaScript, XHTML e CSS. Além disso, este tutorial não é completo; destina-se a ser uma introdução à segurança de aplicativos da Web. Para ler mais sobre os temas abordados aqui e outros tópicos relevantes, consulte Recursos.

Acrônimos usados frequentemente

  • API: Application program interface
  • CSRF ou XSRF: Cross-site request forgery
  • CSS: Cascading Stylesheets
  • HTML: Linguagem de Marcação de Hipertexto
  • HTTP: Protocolo de Transporte de Hipertexto
  • OS: Sistema Operacional
  • SQL: Linguagem de Consulta Estruturada
  • URL: Localizador Uniforme de Recursos
  • W3C: World Wide Web Consortium
  • XHTML: Linguagem de Marcação de Hipertexto Extensível
  • XML: Linguagem de Marcação Extensível
  • XSS: Cross-site scripting

Com o surgimento dos smartphones e dispositivos semelhantes, a segurança dos aplicativos da Web foi ampliada para incluir aplicativos remotos. Por causa das limitações impostas pelas interfaces de vários dos dispositivos desse tipo, às vezes os desenvolvedores trabalham com a premissa falsa de que a validação das entradas no lado do cliente é suficiente para a proteção contra ataques. Entretanto, as solicitações enviadas pelos aplicativos remotos podem ser manipuladas da mesma forma que os aplicativos da Web tradicionais. Por causa dessa vulnerabilidade, não é possível confiar no cliente. Com os dados sensíveis às vezes armazenados em dispositivos e nos servidores que eles usam, a proteção dos usuários contra hackers "do mal" é crítica. Este tutorial mostra como vários tipos de vulnerabilidades ocorrem e algumas das contramedidas que podem ser estabelecidas para mitigar os invasores que tentam utilizá-las. Os seguintes tipos de vulnerabilidades são abordados:

  • Scripts de sites cruzados
  • Falsificação de solicitação em sites cruzados
  • Controle de acesso quebrado
  • Injeção de SQL
  • Inclusão de arquivos
  • Injeção de comandos de OS
  • Injeção de linguagem de script
  • Criação de arquivos arbitrários

Todas as vulnerabilidades e contramedidas são demonstradas por meio de um aplicativo de amostra desenvolvido com jQuery Mobile, PHP e MySQL. (Consulte Download para obter um arquivo .zip com o código de amostra.)

Pré-requisitos

Para concluir este tutorial, são necessárias as seguintes ferramentas:

  • Servidor da Web — Pode-se usar qualquer servidor da Web com suporte para PHP. Muitas utilizações deste tutorial são específicas do Windows, mas podem ser adaptadas para outros sistemas operacionais. Sugerimos o servidor da Web Apache ou o IBM HTTPServer.
  • PHP — Já que alguns ataques descritos não funcionam com a versão mais recente, foi usado o PHP 5.3.1. As incompatibilidades desse tipo são indicadas ao longo do tutorial.
  • MySQL — Este tutorial usa o MySQL, um banco de dados de software livre. A versão 5.1.41 foi usada neste tutorial, mas as outras versões podem funcionar bem.
  • Proxy de depuração da Web — Como há necessidade de uma forma de manipular solicitações de HTTP, um proxy de depuração da Web é muito útil. Ao longo deste tutorial, o Fiddler v2.3.2.4 é usado, mas qualquer outro proxy de depuração da Web que permite a modificação de solicitações funciona.
  • jQuery Mobile — O frontend do aplicativo de amostra desenvolvido neste tutorial usa o jQuery Mobile 1.0 Alpha 3.

Consulte Recursos para obter links úteis.

1 de 14 | Próximo

Comentários



static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Software livre
ArticleID=697169
TutorialTitle=Melhore a Segurança dos Aplicativos da Web com o jQuery Mobile
publish-date=07042011
author1-email=john.leitch5@gmail.com
author1-email-cc=nancy_hannigan@us.ibm.com

Tags

Help
Use o campo de pesquisa para encontrar todos os tipos de conteúdo no My developerWorks com essa tag.

Use a barra de rolagem para ver mais ou menos tags.

Tags populares mostra as principais tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Minhas tags mostra suas tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Use o campo de pesquisa para localizar todos os tipos de conteúdo no Meu developerWorks com essa tag. Tags populares mostra as tags principais para essa zona de conteúdo particular (por exemplo, tecnologia Java, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere). Minhas tags mostra as suas tags para essa zona de conteúdo em particular (por exemplo, tecnologia Java, Linux, WebSphere).