- Polis Educacional

Transcrição

- Polis Educacional
Daniel Reenlsober
0305327
ANÁLISE COMPARATIVA ENTRE AS LINGUAGENS DE
SCRIPTING SERVER-SIDE PHP E ASP .NET
Jaguariúna
2006
1
Daniel Reenlsober
0305327
ANÁLISE COMPARATIVA ENTRE AS LINGUAGENS DE
SCRIPTING SERVER-SIDE PHP E ASP .NET
Monografia apresentada à disciplina Trabalho
de Conclusão de Curso, do curso de Ciência da
Computação da Faculdade de Jaguariúna, sob
orientação do Prof. Ademário Araújo Jr., como
exigência parcial para conclusão do curso de
graduação.
Jaguariúna
2006
2
REENLSOBER, Daniel. Análise Comparativa entre as Linguagens de Scripting ServerSide PHP e ASP .NET. Monografia defendida e aprovada na FAJ em 13 de dezembro de
2006 pela banca examinadora constituída pelos professores:
__________________________________________________________
Prof. Ademário Araújo Jr
FAJ – Orientador
__________________________________________________________
Prof. João Hermes
FAJ
__________________________________________________________
Profª Gisele Consoline
FAJ
3
REENLSOBER, Daniel. Análise Comparativa entre as Linguagens de Scripting ServerSide PHP e ASP .NET. 2006. Monografia (Bacharelado em Ciência da Computação) – Curso
de Ciência da Computação da Faculdade de Jaguariúna, Jaguariúna.
RESUMO
Com o aumento do uso da Internet, tanto em domicílios como em empresas, o
desenvolvimento para Web tornou-se algo importante nos dias atuais. Através de linguagens
de scripting server-side é possível transformar páginas estáticas HTML em páginas com
conteúdo dinâmico e de fácil atualização, tornando o ambiente Web, além de uma grande
fonte de informações, um ambiente de trabalho. Entre as linguagens de scripting server-side,
destaca-se PHP e o ASP .NET, ambas ferramentas muito utilizadas em projetos para a
Internet. Ao pesquisar sobre as duas linguagens, pude perceber que cada linguagem apresenta
diversas particularidades. Para verificar suas diferenças, foram desenvolvidos exemplos
utilizando PHP e ASP .NET. Diante destes exemplos e pesquisas, o presente trabalho
apresenta os resultados da comparação, indicando para quais projetos cada linguagem é mais
indicada.
Palavras-chave: PHP, ASP .NET, DESENVOLVIMENTO
4
ABSTRACT
Development for Web became something very important in current days with the growth of
Internet using by homes and companies. Using server-side scripting languages is possible to
transform static HTML pages in page with dynamic content easy to use becoming Web
environment in a work environment and a huge source of information. Between server-side
scripting languages, stand out PHP and ASP .NET, both tools very useful in projects to the
Internet. During languages researching I can notice that each language presents several own
properties(particularidades). In order to verify languages differences, PHP and ASP .NET
examples were developed. In front these examples and researches' results, this paper presents
comparing results indicating each language to right projects.
Key-words: PHP, ASP .NET, DEVELOPMENT
5
SUMÁRIO
LISTA DE FIGURAS ............................................................................................................6
1. INTRODUÇÃO..................................................................................................................7
2. OBJETIVOS.....................................................................................................................12
3. METODOLOGIA.............................................................................................................13
4. RESULTADOS ................................................................................................................14
4.1 Configuração mínima e configuração recomendada ......................................................14
4.2 Custo de aquisição ..........................................................................................................15
4.3 Custo de hospedagem dos sites ......................................................................................16
4.4 Custo de treinamento e suporte ......................................................................................16
4.5 Custo com salários para desenvolvedores ......................................................................17
4.6 Ambiente de desenvolvimento .......................................................................................18
4.7 Segurança........................................................................................................................20
4.8 Reuso da linguagem .......................................................................................................30
4.9 Implementação da aplicação junto ao design do projeto................................................32
5. CONCLUSÃO..................................................................................................................34
6. REFERÊNCIAS BIBLIOGRÁFICAS .............................................................................36
7. ASSINATURAS...............................................................................................................38
6
LISTA DE FIGURAS
Figura 1 – Gráfico demonstrativo do uso do PHP entre 01/2000 a 09/2006..........................7
Figura 2 – Ambiente de desenvolvimento............................................................................12
Figura 3 – Ambiente para hospedagem ................................................................................12
Figura 4 – Custo de aquisição...............................................................................................13
Figura 5 – Média de salário para programador ASP .NET ..................................................15
Figura 6 – Média de salário para programador PHP ............................................................15
Figura 7 – Ambiente de desenvolvimento ASP .NET: Visual Web Developer ...................16
Figura 8 – Ambiente de desenvolvimento Dreamweaver ....................................................18
Figura 9 – Resultado da execução do arquivo login.php......................................................21
Figura 10 – Adicionando o componente Login no projeto...................................................23
Figura 11 – Ferramenta Web Site Administration................................................................24
Figura 12 – Selecionando o tipo de acesso...........................................................................24
Figura 13 – Configuração de regras de acesso .....................................................................25
Figura 14 – Exemplo de uso do template. ............................................................................32
Figura 15 – Master Page no Visual Web Develop ...............................................................33
7
1. INTRODUÇÃO
No início da World Wide Web, todas as informações enviadas ao navegador do cliente
eram estáticas, ou seja, o conteúdo de uma página que servia ao cliente 1 era exatamente o
mesmo que seria enviado para o cliente 2. O servidor da Web não gerava dinamicamente
nenhuma parte do conteúdo do site, simplesmente atendia as solicitações de páginas HTML,
que eram carregadas a partir do sistema de arquivo do servidor Web e enviadas ao cliente
solicitante. Não havia nenhuma interatividade entre o usuário e o servidor. Dessa forma,
apesar da Internet se desenvolver rapidamente para incluir imagens gráficas e sons, a Web
continuava estática, sem possibilidades de customização para o usuário e pouca
funcionalidade, além daquela fornecida pelos hiperlinks simples.
A partir deste cenário nasce uma nova área, o Desenvolvimento para Web, com o qual
os programadores e webdesigners trabalham lado a lado em busca de um site dinâmico,
customizado, seguro e de fácil navegação. De acordo com Vivas (2000, p.10)
Programar para a Web pode ser considerado como um jogo que
consiste em receber os dados do usuário, processá-los e enviar a
resposta dinâmica. Uma vez enviada a resposta, é encerrado o contato
entre o servidor e o cliente.
Para fazer esta troca de dados entre cliente/servidor utilizamos as linguagens de
scripting server-side, como PHP e ASP .NET. Tanto o PHP como o ASP .NET oferecem
interfaces para o acesso desses dados, a partir dos quais o usuário passa a selecionar que
conteúdo deseja visualizar ou pode editar o conteúdo das páginas de uma forma mais rápida e
simples. Neste sentido, as linguagens de scripting server-side tornaram-se muito importantes
nos dias atuais, possibilitando que os sites sejam dinâmicos e mais atualizáveis..
O PHP foi criado por Rasmus Lerdorf em 1994, inicialmente como simples scripts Perl
para que o próprio Lerdorf obtivesse estatísticas de acesso para seu currículo online. Como
mais funcionalidades foram requeridas, Rasmus escreveu uma implementação em C mais
abrangente e capaz de comunicar-se com base de dados, permitindo aos profissionais da área
desenvolver simples aplicativos dinâmicos para Web. Rasmus chama essa versão de PHP/FI E
disponibilizou o código fonte para que todos pudessem ver, e também usá-lo, bem como
8
localizar erros e melhorar o código. A versão que mais se assemelha ao PHP utilizado nos
dias atuais é o PHP 3.0, criado por Andi Gutmans e Zeev Suraski, lançado em 1997. A versão
3.0 do PHP oferece um infra-estrutura sólida para o acesso a diversos banco de dados,
protocolos e APIs, além da introdução ao suporte para orientação a objetos.
A nova engine, a Zend Engine (palavra formada pelos primeiros nomes dos
desenvolvedores, Zeev e Andi), fez com que o PHP melhora-se sua performance em
aplicações mais complexas. O PHP 4.0, baseado nesta engine e acompanhado com uma série
de novas características, foi oficialmente lançada em 22 de maio de 2000. Além do
melhoramento do desempenho, o PHP 4.0 incluiu outras características como o suporte para
muitos servidores Web, sessões HTTP, buffer de saída, maneiras mais seguras de manipular a
entrada de usuários e novas construções na linguagem. O PHP em sua versão 4 tornou-se mais
rápido pois passou a compilar o código inteiro, transformando-o em byte code para somente
depois ser executado pelo Zend Engine. Outra qualidade é a sua independência do servidor
Web, criando versões de PHP nativas para mais plataformas.
A essa altura o PHP já possuía funcionalidades que facilitavam o desenvolvimento de
scripts e permitiam que usuários iniciantes escrevessem códigos ainda não muitos seguros.
Uma dessas funcionalidades é a diretiva register_globals, que quando ligada torna qualquer
variável disponível automaticamente no escopo do script. Devido a essa facilidade, que
permitia o desenvolvimento de aplicações com falhas de segurança, na versão 4.1.0 foi
introduzido na linguagem as superglobais $_GET, $_POST e $_COOKIE para que a
desativação da diretiva register_globals fosse possível. No lançamento da versão 4.2.0, que
aconteceu em 22 de abril de 2002, a register_globals já estava desligada por padrão.
Depois da versão 4.3.0 a demanda por funcionalidades orientadas a objetos cresceu. Por
esse motivo Andi decidiu reescrever a parte orientada a objetos da linguagem e iniciou o
trabalho escrevendo, junto com Zeev, o documento "Zend Engine II: Feature Overview and
Design" (Zend Engine II: Visão Geral e Elaboração de Funcionalidades).
A partir desse momento, muitas funcionalidades foram adicionadas, retiradas e
modificadas, até que em 13 de julho de 2004, o PHP 5 foi lançado trazendo como principal
novidade a orientação a objetos totalmente reescrita. Além da orientação a objetos, a versão 5
também trouxe funcionalidades, muito importantes para a evolução da linguagem, como
9
SimpleXML, SOAP, MySQLi e mais outras diversas extensões de importância significativa.
Mesmo sem todos os recursos da POO (Programação Orientada a Objetos), muitas bibliotecas
de código e grandes aplicações são escritas somente neste tipo de código.
Atualmente a edição 5 do PHP está em sua versão 5.1.6 e a edição 4 está na versão
4.4.4. O PHP continua crescendo e a cada versão traz novas funcionalidades e facilidades para
os profissionais que utilizam a linguagem. O gráfico abaixo mostra como foi o crescimento do
uso do PHP nos sites da Internet, entre os anos de 2000 a 2006. Atualmente existem cerca de
19.491.000 de domínios e 1.313.000 de endereços IP que utilizam o PHP.
Figura 1 – Gráfico demonstrativo do uso do PHP entre 01/2000 a 09/2006.
(http://www.php.net/usage.php, Set. 2006)
ASP é uma tecnologia desenvolvida pela Microsoft que permite ao desenvolvedor web
criar suas páginas de uma forma mais rápida e de fácil compreensão. O ASP utiliza estrutura
de programação em script como VBScript, JScript, PerlScript ou Python processadas pelo
servidores Windows, através do serviço chamado de IIS (Internet Information Service, o
servidor web da Microsoft) ou do PWS (Personal Web Server), em ambientes com Windows
98.
Com o aumento da necessidade dos usuários e a complexidade das aplicações Web, o
ASP mostrou-se fraco em diversos pontos como: reaproveitamento de código, ferramentas de
depuração e desenvolvimento limitadas, problemas de desempenho, código fracamente
10
tipado, suporte a diferentes navegadores e difícil colaboração entre grupos de
desenvolvimento, entre outros.
Com base em todos estes problemas, foi inevitável uma evolução na linguagem. Em
2000, a Microsoft lançou o ASP.NET, trazendo uma mudança radical para o desenvolvedor.
Anteriormente os profissionais tinham poucas opções ao auxiliar o desenvolvimento para
Web. Com a chegada do ASP.NET, os desenvolvedores não receberão apenas uma nova
versão do ASP, mas sim um novo modelo de programação ASP, além de um ambiente
completo para o desenvolvimento, o Visual Web Developer. O ASP.NET segue um modelo
de programação orientado a objetos, no qual, são adicionados controles aos formulários e
escrito códigos para manipular os eventos. As aplicações serão escritas numa das linguagens
suportadas pelo Framework .NET (C#, Visual Basic .NET), todas orientadas a objetos. Os
aplicativos construídos com ASP.NET são hospedados no Microsoft IIS e usa protocolos da
internet como HTTP e SOAP.
Toda a configuração da aplicação ASP.NET é feita através de arquivo XML. Sendo
assim, não é preciso recompilar a aplicação após alguma mudança, pois o próprio framework
detecta a mudança e reinicia a aplicação. Após a página ter sido requisitada, o framework
verifica se essa página já foi compilada e, caso não tenha sido, compila só a primeira vez.
Dessa forma, nas próximas requisições a página não será compilada e a execução será mais
rápida.
Essa mudança no modelo de programação trouxe muitos benefícios, não apenas ao
ASP.NET, mas também ao Framework .NET. O Framework .NET é uma iniciativa da
Microsoft que visa uma plataforma única para desenvolvimento e execução de sistemas e
aplicações. Todo e qualquer código gerado para .NET pode ser executado em qualquer
dispositivo ou plataforma que possua esse framework (plataforma). Com idéia semelhante à
plataforma Java, o programador deixa de escrever código, para um sistema ou dispositivo
específico, e passa a escrever para a plataforma .Net.
Em julho de 2004, a Microsoft disponibilizou o primeiro beta do ASP.NET 2.0 em
conjunto com o Visual Web Developer 2005, facilitando e otimizando diversas tarefas
comuns no desenvolvimento para Web, além da redução do trabalho e a quantidade de linhas
de código para a execução. Umas das grandes novidades, é que o servidor web IIS não precisa
11
estar instalado na máquina do desenvolvedor para realizar os testes de aplicação, uma vez
que, o próprio Visual Web Developer possui o servidor embutido ao programa.
Assim, pode-se perceber o porquê PHP e o ASP.NET são uma das principais linguagens
para a troca de informações via Internet entre cliente/servidor no desenvolvimento para Web.
12
2. OBJETIVOS
O objetivo deste trabalho é demonstrar as diferenças no desenvolvimento, utilizando as
linguagens PHP e ASP.NET quanto:
Aprendizado;
Ao projeto de páginas para web;
Desempenho no servidor;
Segurança;
Complexidade das rotinas;
Custo do projeto;
Implementação da aplicação junto ao design do projeto;
Ao final do trabalho será indicado qual destas linguagens de scripting server-side é mais
apropriada para diferentes tipos de projetos para web.
13
3. METODOLOGIA
O trabalho foi iniciado por meio de uma pesquisa visando um levantamento teórico para
iniciar o desenvolvimento em PHP. A partir desta pesquisa foi iniciado a criação de pequenos
exemplos e de alguns projetos utilizando o PHP. Logo após foi iniciado uma nova pesquisa
para o levantamento teórico do ASP e posteriormente do ASP.NET, com o intuito de
desenvolver novos exemplos utilizando o ASP.NET.
Ao concluir os projetos em PHP e ASP.NET foi feito a comparação entre as linguagens
de programação quanto: a sua facilidade de aprender a linguagem, a complexidade do código,
o desempenho no servidor, segurança, implementação da aplicação junto ao design de um
website e tamanho do código gerado.
Através de pesquisas foi feito um cruzamento entre diversas informações para verificar
o custo do desenvolvimento dessas linguagens. Os itens analisados foram: custo para
hospedagem das páginas, salário médio dos profissionais, configuração mínima e
recomendada para o desenvolvimento e hospedagem.
14
4. RESULTADOS
4.1 Configuração mínima e configuração recomendada
Acompanhe abaixo a configuração necessária para o funcionamento do PHP (referente a
instalação do PHP, MySQL e Apache) e do ASP.NET (referente à instalação do Visual Web
Developer Expres Beta 2, .NET Framework 2.0 e o Microsoft SQL Server 2005 Express
Edition):
Processador
PHP
ASP.NET
Mínimo: Pentium de 500 MHz
Mínimo: Processador Pentium de 600
Recomendado: Pentium de 750 MHz
MHZ
Recomendado: Pentium de 1 gigahertz
Sistema
Linux, Unix e qualquer versão do
Funciona em computados com Windows
operacional
Windows a partir da versão 98.
2000 Professional Service Pack 4 ou
posterior.
Memória
Mínimo: 64 megabytes
Mínimo: 192 megabytes
RAM
Recomendado: 128 megabytes
Recomendado: 256 megabytes
Disco rígido
40 megabytes para instalação dos
1,3 gigabytes para a instalação dos
softwares
softwares
Figura 2 – Ambiente de desenvolvimento
PHP
ASP.NET
Processador
Mínimo: Pentium de 500 MHz
Mínimo: Processador Pentium de 733 MHz
Sistema
Funciona em Linux, Windows
Funciona em computador com Windows
operacional
2003/XP/2000/NT/9x, Netware 5.x ou
2000 Professional Service Pack 4 ou
superior, OS/2 e Unix
posterior.
Memória
Mínimo: 128 megabytes
Mínimo: 256 megabytes
RAM
Recomendado: 256 megabytes
Recomendado: 512 megabytes
Disco rígido
800 megabytes
1,5 gigabytes
Figura 3 – Ambiente para hospedagem
15
4.2 Custo de aquisição
Iniciar o desenvolvimento tanto no PHP, quanto no ASP.NET envolve além de pesquisa
e estudos sobre a linguagem, a aquisição de hardware e software. Inicialmente é necessário
um computador com um sistema operacional instalado. O PHP (mais o MySQL e Apache)
funciona mesmo em computadores com hardware fracos, como um micro com processador de
500 MHz e 64 de RAM. Além de funcionar no Windows (a partir da versão 98 até as mais
recentes), é possível desenvolver códigos PHP em ambiente Linux (sistema operacional livre
e gratuito). Para editar o código PHP pode-se usar qualquer editor de texto disponível.
Apesar dos profissionais poderem desenvolver códigos em ASP.NET utilizando apenas
editores de texto, isso não é recomendado. Por se tratar de uma linguagem orientada a objetos,
o ideal é utilizar um ambiente de desenvolvimento, como o Visual Web Developer Express
(software disponível atualmente para download gratuito). Acontece que este software é
apenas compatível com o sistema operacional Windows (Windows 2000 ou superior).
Atualmente o valor para adquirir um sistema operacional Windows varia entre R$ 450,00 a
R$ 500,00 (versão Professional). Não é possível instalar o Visual Web Developer Express em
Windows XP Edição Home. Além disso, é necessário que esteja instalado o Internet Explorer
5.1 ou superior.
Abaixo segue uma tabela que demonstra a comparação de preços no custo de aquisição
entre diferentes linguagens:
Item
ASP
Cold Fusion
JSP
PHP
Desenvolvimento US$ 0-480
US$ 395
US$ 0
Servidor
US$ 1.295
US$ 0 – 595 US$ 0
US$ 620
US$ 0
Figura 4 – Custo de aquisição
Pode-se constatar no gráfico acima que PHP é o único que não tem nenhum custo de
aquisição tanto para desenvolvimento quanto para o servidor, pois o material necessário é
totalmente gratuito, bastando apenas que seja feito o download pela Internet.
16
4.3 Custo de hospedagem dos sites
Para que seu projeto seja utilizado ou visitado por outras pessoas é necessário hospedar
os arquivos, ou seja, armazenar todo o conteúdo do projeto em um servidor. Mas para utilizar
um servidor é necessário pagar uma taxa, valor este que pode variar de acordo com a
linguagem de scripting server-side utilizado.
Apesar de alguns serviços de hospedagem ter o mesmo valor de assinatura para PHP E
ASP.NET, é comum encontrar empresas que trabalham com serviços de hospedagem
especifica para uma linguagem. Em todos estes serviços, a hospedagem com tecnologia ASP é
mais cara cerca de 6% a 29% sobre o preço da hospedagem PHP.
Essa diferença de preços é causada pelo custo de aquisição para um servidor ASP.
Servidores ASP devem usar sistema operacional Windows (sistema operacional pago), contra
os servidores PHP que usam Linux (sistema operacional gratuito). Além disso, o Windows é
um sistema operacional que possui muitos problemas com segurança, tornando muito mais
vulnerável a ataques que o Linux. Para aumentar os níveis de segurança nestes servidores
Windows, é comum a instalação de firewalls (utilizado para evitar que o tráfego não
autorizado possa fluir de um domínio de rede para o outro), software este com opções
gratuitas e pagas.
4.4 Custo de treinamento e suporte
Um ponto que a tecnologia ASP/ASP.NET tem de destaque é quanto ao treinamento e
suporte para os profissionais. Enquanto que os desenvolvedores PHP dependem muito de
fóruns de discussões na Internet e livros, a Microsoft possui uma grande estrutura para
auxiliar os profissionais ASP. Além de newsgroups, FAQs e fóruns de discussão, a Microsoft
distribui
tutoriais,
organiza
regularmente
eventos
destinado
exclusivamente
para
desenvolvedores ASP, além de contar com um suporte técnico via e-mail ou telefone. Os
profissionais ASP ainda contam com uma publicação mensal especializada para
desenvolvedores Microsoft: a MSDN Magazine com dicas e informações sobre componentes
do ASP.NET.
17
4.5 Custo com salários para desenvolvedores
Através do site Curriculum (www.curriculum.com.br) é possível obter estatísticas
salariais sobre diversas vagas. A pesquisa abaixo, feita no dia 1 de novembro, mostra que o
programador da linguagem ASP.NET possui um salário maior comparado com um
programador PHP, ou seja, a empresa terá maiores gastos com salários.
Figura 5 – Média de salário para programador ASP.NET
(http://www.curriculum.com.br, Nov. 2006)
Figura 6 – Média de salário para programador PHP
(http://www.curriculum.com.br, Nov. 2006)
A diferença de salários deve-se ao aumento do uso da linguagem ASP.NET, fazendo as
empresas procurarem profissionais que conheça profundamente o ASP.NET. Os
desenvolvedores ASP.NET também podem comprovar seus conhecimentos através das
Certificações ASP.NET emitidas pela própria Microsoft. Certificações PHP ainda não existem
no Brasil.
18
4.6 Ambiente de desenvolvimento
Enquanto que o ASP.NET pode ser desenvolvido apenas em computadores que tenham
o sistema operacional Windows, o PHP pode ser desenvolvido em ambientes Linux, Mac OS
X, e Unix. Para desenvolver aplicativos em qualquer uma destas linguagens pode-se utilizar
um simples editor texto para escrever os códigos e um navegador para testar.
Figura 7 – Ambiente de desenvolvimento ASP.NET: Visual Web Developer
Mas com o lançamento do ASP.NET, o desenvolvedor ASP ganhou um complexo
ambiente de desenvolvimento chamado Visual Web Developer 2005. Este ambiente facilita
muito as tarefas do desenvolvedor. Tudo se tornou componente, ou seja, um objeto que
implementa uma interface e é autônomo em relação a outros componentes do sistema.
Exemplos de componentes no ASP.NET: Web controls, Html Controls, User controls,
Calendar, DataGrid, DataList, Repeater, entre outros. Tarefas comuns ao desenvolvedor web
como desenvolver uma pagina de registro de usuários ou um local para login do visitante,
pode ser feito automaticamente criados pelo Visual Web Developer, sem que o desenvolvedor
digite
nenhuma
linha
de
código.
(GUIMARÃES,
Renato,
http://www.imasters.com.br/artigo/1624/dotnet/aspnet_uma_mudanca_radical, jun.de 2006.)
19
Mesmo numa tarefa como uma ligação da página com o banco de dados, o Visual Web
Developer possui um componente chamado DataSource onde o desenvolvedor deve apenas
arrasta-lo sobre o projeto e usar o assistente para a configuração. Foi implementado também o
componente Grid View, uma evolução do Data Grid. Através dele é possível paginar, ordenar,
editar dados em forma de tabela, tudo sem escrever nenhuma linha de código. Este controle
ainda permite ordenar as informações das páginas sem que o navegador execute um post no
servidor.
O Visual Web Developer ainda traz novidades como o componente Wizard, com qual o
desenvolvedor poderá criar telas para cadastro em forma de janelas com controles de
continuar, avançar e concluir. O Wizard é muito parecido com a estrutura de qualquer
programa de instalação de software.
Quanto a customização das páginas pelo usuário, o ASP.NET também traz alguns
componentes que ajudam o desenvolvedor como as Web Parts. Através de sua utilização será
possível habilitar ao usuário modos onde ele altere a aparência do site, além de diversas
customizações como ocultar certas informações do site. Adicione também o suporte a skins
(temas) no qual é possível desenvolver a aplicação com base a um tema, de forma que apenas
trocando o skin você mude completamente a aparência do site.
Ao iniciar o desenvolvimento de códigos através do Visual Web Developer pode-se
observar as capacidades do IDE de identificar erros além de propor soluções para resolver tais
problemas. Usando o Insert Snippet é possível incluir um conjunto de códigos prontos usando
apenas o botão direito do mouse. Assim como no Visual Basic, é possível marcar trechos de
código através dos breakpoints para visualizar a execução do programa e assim, identificar
possíveis erros. Erros esses que podem ser localizados pela depuração no momento da
execução do projeto.
Uma das ferramentas mais utilizadas pelos webdesigners, o Dreamweaver, possui alguns
recursos que ajudam o desenvolvedor PHP. Através de sua barra de ferramentas “PHP” é
possível abrir blocos de códigos, criar estruturas de condição e laço, configurar variáveis de
sessão e cookie. Ao utilizar a barra de ferramentas “Apllication” será possível configurar o
acesso a banco de dados, criar tabelas dinamicamente, inserir controles de navegação e gerar
20
formulários automaticamente. Mesmo com essas ferramentas o Dreamweaver não se compara
com toda a estrutura que o Visual Web Developer proporciona para o ASP.NET.
Figura 8 – Ambiente de desenvolvimento Dreamweaver
Como pode ser observado, utilizar um ambiente de desenvolvimento próprio para a
linguagem facilita e aumenta a produtividade do desenvolvedor. No caso do Visual Web
Developer, o software já está preparado para que funções comuns sejam resolvidas apenas
incluindo um componente.
4.7 Segurança
A informação representa um dos bens mais valiosos de um projeto Web, garantindo a
continuidade dos negócios, minimizando os riscos de perdas financeiras e a imagem da
empresa no mercado. Pelo grau de importância que representa, a informação precisa ser
adequadamente protegida. Seja qual for a forma apresentada ou o meio através do qual a
informação é compartilhada ou armazenada, deve-se sempre protegê-la adequadamente.
21
A segurança da informação é baseada em três pilares: confidencialidade (garantia de que
a informação é acessível somente por pessoas autorizadas), integridade (exatidão da
informação) e disponibilidade (garantia de acesso à informação sempre que preciso).
O compartilhamento de recursos de informação aumenta a dificuldade de se controlar o
acesso e os riscos envolvidos, permitindo a ocorrência cada vez mais freqüente de fraudes
eletrônicas, espionagem, sabotagem, vandalismo, problemas causados por vírus, hackers e
ataques denial of service (indisponibilidade dos serviços), entre outros. (Guia de Segurança
em Ambientes Web, http://www.cqgp.sp.gov.br/manuais/seguranca/seguranca.htm, set. 2006)
Sendo assim, a proteção da informação é o ponto mais importante no desenvolvimento
de sistemas para Internet. Quando é feito uma comparação entre os servidores IIS (Microsoft)
e Apache, encontra-se dois servidores de alta qualidade, mas ambos sujeitos a falhas. Apesar
da possibilidade de ser usado em ambiente Windows, quase todos os servidores que usam
Apache estão sendo instalados em ambiente Linux. Não que o Linux não seja sujeito à falhas
e invasões, mas a maioria dos ataques visam sistemas Windows por serem mais utilizados e
com mais brechas de segurança.
O servidor IIS para Windows possui elevados níveis de segurança, no entanto sua
configuração tem um papel crucial para a segurança dos dados. Um servidor mal configurado
poderá trazer problemas de acesso não autorizado, execução de código arbitrária,
determinação de perfil, negação de serviço, elevação de privilégios, vírus, worms, cavalos de
Tróia, entre outros.
Não basta apenas que um servidor tenha ótimos níveis de segurança. É necessário que o
desenvolvedor do sistema para Web pense na segurança de seu projeto desde o início do
desenvolvimento. Ele deve seguir todas as regras da linguagem e tratar todas as informações
que são manipuladas nos formulários de entrada/saída, ou seja, o modo como o desenvolvedor
escreve seus códigos é fundamental para um funcionamento seguro de seu projeto.
Quanto à segurança em aplicações Web, dois procedimentos devem ser considerados:
autenticação e autorização, normalmente verificando o login e senha a partir de um banco de
dados. Após o login, de acordo com o tipo de usuário, podemos limitar o acesso a
determinadas páginas e recursos do site. Isso se chama autorização.
22
Existem três formas de autenticar o usuário com ASP.NET: Windows (padrão), Forms e
Passport. O primeiro método é normalmente utilizado em domínios de rede (intranets), onde o
usuário já está logado. Quando ele acessar a aplicação ASP.NET, estará autenticado. O
Passport permite integrar a autenticação do seu site como um serviço da Microsoft. Porém a
mais utilizada é sem dúvida a Forms, onde é construido um formulário e são validadas as
credenciais em qualquer mecanismo de armazenamento de dados, como um banco de dados
SQL Server ou mesmo um arquivo XML.
Como foi dito anteriormente, tanto os códigos PHP como os códigos ASP.NET podem
ser escritos utilizando qualquer editor de texto. Mas é através do Visual Web Developer 2005
que o ASP.NET mostra suas facilidades de desenvolvimento, principalmente quando se trata
de segurança. O Visual Web Developer oferece ao desenvolvedor componentes que criam
automaticamente toda uma complexa estrutura para o criação de projetos que envolvem
login/senha. Automaticamente regras de segurança são adicionadas ao projeto, tornando o
trabalho do desenvolvedor mais rápido e com grande nível de segurança. O desenvolvedor é
capaz ainda de incrementar este código com novas diretivas de segurança.
O Visual Web Developer oferece uma interface para administração onde é feita a
configuração da aplicação e salva diretamente no arquivo web.config. Através da interface de
administração é possível configurar o tipo da autenticação, definir onde serão salvos as
informações dos usuários, logs sobre a utilização da aplicação ou ainda um sistema de
estatística. Também é possível utilizar a opção Role Manager onde pode-se definir grupos de
usuários. Por exemplo: usuários do grupo "Funcionários" não acessem páginas de usuários do
grupo "Gerentes". Caso tenha alguma tentativa de acesso indevido o usuário é redirecionado
automaticamente para tela de login. As informações do usuário (que antes eram salvas em
cookies ou em variáveis de sessão) podem ser salvas em um banco de dados Access ou
SQLServer. Pode-se ainda realizar uma consulta a um banco de dados e salvar o retorno no
cachê. Dessa maneira não é mais necessário fazer repetitivamente consultas ao banco de
dados.
Já o desenvolvedor PHP deve escrever toda a estrutura de autenticação e autorização.
Isso se torna um problema, principalmente quando o projeto for extenso. É necessário que o
desenvolvedor trate todas as informações digitadas pelo usuário do sistema, verificar a qual
grupo pertence (ex: anônimo, colaborador, administrador) e a saída destes dados. Qualquer
23
esquecimento ou brecha deixada para trás pode trazer enormes problemas na segurança da
aplicação no futuro.
Existe a possibilidade de adicionar scripts PHP desenvolvidos por terceiros. Fazer o uso
de tais scripts agilizam o desenvolvimento dos projetos PHP, pois a tarefa de autenticação e
autorização já esta pronta, porem essa solução não é integrada diretamente ao PHP. Usar
scripts prontos pode elevar o custo de desenvolvimento, além de correr o risco do código não
ser tão seguro quanto deveria ser.
Veja abaixo uma comparação entre códigos de login entre PHP e ASP.NET. A seguir a
página de login que será autenticada através de um código PHP:
login.php
<form name="login" method="post" action="confirmar_login.php">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="150"><font size="2" face="Verdana"> Login: </font></td>
<td width="250"><font size="2" face="Verdana">
<input name="login" type="text" id="login"></font></td>
</tr>
<tr>
<td><font size="2" face="Verdana"> Senha: </font></td>
<td> <input name="senha" type="password" id="senha"></td>
</tr>
<tr>
<td><font size="2" face="Verdana"> &nbsp; </font></td>
<td><font size="2" face="Verdana"> &nbsp; </font></td>
</tr>
<tr>
<td><font size="2" face="Verdana"><center>
<input name="entrar" type="submit" id="entrar" value="Entrar">
</center></font></td>
<td><font size="2" face="Verdana">
<a href="senha.php">Esqueceu a senha?</a>
<a href="cadastrar.php">Cadastre-se</a></font></td>
</tr>
</table>
</form>
Este é o resultado durante a execução pelo navegador:
Figura 9 – Resultado da execução do arquivo login.php
24
Após o visitante entrar com login e senha e clicar “Entrar”, a página
confirmar_login.php vai ser requisitada. Esta página que irá fazer a autenticação do usuário.
Veja o código fonte:
confirmar_login.php
<?
session_start(); include "config.php";
$login = $_POST['login'];
$senha = $_POST['senha'];
$db = mysql_connect($host, $login_db, $senha_db); //conecta ao mysql
$basedados = mysql_select_db($database); //conecta a base de dados
$confirmacao = mysql_query("SELECT * FROM $tabela WHERE login='$login' AND
senha='$senha'", $db); //verifica se login e senha conferem
$contagem = mysql_num_rows($confirmacao); //traz o resultado da pesquisa acima
if($contagem != 1){
echo "Login ou senha inválidos.<a href=javascript:history.go(-1)>Clique aqui
para voltar.</a>";
exit();//se a senha for incorreta, aparece essa mensagem
}
$_SESSION[logado]
= $login;
$_SESSION[senhalog] = $senha;
echo "<html><head><title>Confirmação de Login</title></head><body>";
echo "Usuário logado<br><hr>"; //se a senha digitada for correta, aparece essa
mensagem
$consulta = mysql_query("SELECT tipo FROM $tabela WHERE login='$login'");
while ($linha = mysql_fetch_array($consulta)){
$tipo = $linha["tipo"];
}
if ($tipo==1){
echo "Administrador do sistema";
else{
echo "Usuário do sistema";
}
echo " - <a href='logout.php'>Logout</a>";
?>
</body></html>
O código abaixo é do arquivo requisitado pela página confirmar_login.php para
conseguir os dados de acesso ao banco de dados:
config.php
<?
$host="localhost";
$database="bancodedados";
$tabela="tbl_usuarios";
$login_db="root";
$senha_db="";
?>
Acima foi apresentando um sistema básico de login utilizando PHP, cujo qual faz a
verificação do usuário e define a que grupo faz parte (administrador ou visitante). Segue
25
abaixo veremos o mesmo exemplo desenvolvido em ASP.NET através dos componente do
Visual Web Developer:
Figura 10 – Adicionando o componente Login no projeto
Para adicionar um formulário de login, basta arrastar o componente “Login” localizado
na barra de ferramentas Login para a página em branco. O Visual Web Developer
automaticamente adiciona uma tabela contendo duas caixas de textos, uma checkbox e um
botão. Ao utilizar o Login Taks é possível configurar uma formatação da tabela.
Através da opção Administer Website (ou do botão ASP.NET Configuration) é aberto
no navegador a “Web Site Administration Tool”. Os assistentes dessa página permitem ao
desenvolvedor configurar toda a segurança no acesso a seu projeto. Por meio do link Security
o desenvolvedor escolherá o tipo de acesso (Internet ou Local), adicionará usuários, definirá
grupos de usuários e criará regras de acesso.
26
Figura 11 – Ferramenta Web Site Administration
Figura 12 – Selecionando o tipo de acesso
27
Figura 13 – Configuração de regras de acesso
O Apache oferece algo parecido com ambiente Web Site Administration. Com o uso do
arquivo especial .htaccess, é possível adicionar alguns métodos de segurança para proteger
diretórios Web e criar meios de login controlado. Quando o usuário estiver navegando por
alguma página do servidor Apache, todo diretório que ele tentar acessar, o Apache verificará
o arquivo .htaccess para restringir ou liberar o acesso. Com isso é possível fazer duas coisas
básicas em relação à segurança: restringir o acesso aos arquivos e diretórios do servidor Web
através de um usuário e senha, ou então pelo IP/Hostname de quem está acessando.
Mas diferente do ambiente gráfico proporcionado pelo Web Site Administration, para
configurar o .htaccess é necessário editar arquivos de configuração do Apache, tornando a
tarefa não tão simples como no ASP.NET.
Abaixo segue o código gerado pelo componente Login:
<%@ Page Language="C#" %>
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Login ID="Login1" runat="server" BackColor="#F7F6F3"
BorderColor="#E6E2D8" BorderPadding="4"
28
BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" FontSize="0.8em"
ForeColor="#333333">
<LoginButtonStyle BackColor="#FFFBFF" BorderColor="#CCCCCC"
BorderStyle="Solid" BorderWidth="1px"
Font-Names="Verdana" Font-Size="0.8em" ForeColor="#284775" />
<TextBoxStyle Font-Size="0.8em" />
<TitleTextStyle BackColor="#5D7B9D" Font-Bold="True" Font-Size="0.9em"
ForeColor="White" />
<InstructionTextStyle Font-Italic="True" ForeColor="Black" />
</asp:Login>
&nbsp;</div>
</form>
</body>
</html>
Mesmo sem ter criado nenhum tratamento para a entrada de dados, o próprio
componente ao ser executado pelo servidor adiciona regras. Veja o código abaixo após a
página ASP ser executada pelo servidor:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head><title>
Untitled Page
</title></head>
<body>
<form method="post" action="Default2.aspx" onsubmit="javascript:return
WebForm_OnSubmit();" id="form1">
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
value="/wEPDwUKLTgwMTkwMjE3OWQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgIFEUxv
Z2luMSRSZW1lbWJlck1lBRdMb2dpbjEkTG9naW5JbWFnZUJ1dHRvbl7j+eD7qpF2mFbgR7ONu0qTd6DZ"
/>
</div>
<script type="text/javascript">
<!-var theForm = document.forms['form1'];
if (!theForm) {
theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
} }
// -->
</script>
<script src="/Login/WebResource.axd?d=dRdwNf_EtWnKBsUL8Cpqp8qdbDG5jDeIR1aF1t5rWk1&amp;t=632951258960156250"
type="text/javascript"></script>
<script type="text/javascript">
<!-function WebForm_OnSubmit() {
if (ValidatorOnSubmit() == false) return false;
return true;
}
// -->
</script>
29
<div>
<table cellpadding="4" border="0" id="Login1" style="backgroundcolor:#F7F6F3;border-color:#E6E2D8;border-width:1px;border-style:Solid;">
<tr>
td><table cellpadding="0" border="0" style="color:#333333;fontfamily:Verdana;font-size:0.8em;">
<tr>
<td align="center" colspan="2" style="color:White;backgroundcolor:#5D7B9D;font-size:0.9em;font-weight:bold;">Log In</td>
</tr><tr>
<td align="right"><label for="Login1_UserName">User
Name:</label></td><td><input name="Login1$UserName" type="text"
id="Login1_UserName" style="font-size:0.8em;" /><span id="Login1_UserNameRequired"
title="User Name is required." style="color:Red;visibility:hidden;">*</span></td>
</tr><tr>
<td align="right"><label
for="Login1_Password">Password:</label></td><td><input name="Login1$Password"
type="password" id="Login1_Password" style="font-size:0.8em;" /><span
id="Login1_PasswordRequired" title="Password is required."
style="color:Red;visibility:hidden;">*</span></td>
</tr><tr>
<td colspan="2"><input id="Login1_RememberMe" type="checkbox"
name="Login1$RememberMe" /><label for="Login1_RememberMe">Remember me next
time.</label></td>
</tr><tr>
<td align="right" colspan="2"><input type="submit" name="Login1$LoginButton"
value="Log In" onclick="javascript:WebForm_DoPostBackWithOptions(new
WebForm_PostBackOptions(&quot;Login1$LoginButton&quot;, &quot;&quot;, true,
&quot;Login1&quot;, &quot;&quot;, false, false))" id="Login1_LoginButton"
style="color:#284775;background-color:#FFFBFF;border-color:#CCCCCC;borderwidth:1px;border-style:Solid;font-family:Verdana;font-size:0.8em;" /></td>
</tr>
/table></td></tr>
</table> &nbsp;</div>
<script type="text/javascript">
<!-var Page_Validators = new
Array(document.getElementById("Login1_UserNameRequired"),
document.getElementById("Login1_PasswordRequired"));
// -->
</script>
<script type="text/javascript"> <!-var Login1_UserNameRequired = document.all ?
document.all["Login1_UserNameRequired"] :
document.getElementById("Login1_UserNameRequired");
Login1_UserNameRequired.controltovalidate = "Login1_UserName";
Login1_UserNameRequired.errormessage = "User Name is required.";
Login1_UserNameRequired.validationGroup = "Login1";
Login1_UserNameRequired.evaluationfunction =
"RequiredFieldValidatorEvaluateIsValid";
Login1_UserNameRequired.initialvalue = "";
var Login1_PasswordRequired = document.all ?
document.all["Login1_PasswordRequired"] :
document.getElementById("Login1_PasswordRequired");
Login1_PasswordRequired.controltovalidate = "Login1_Password";
Login1_PasswordRequired.errormessage = "Password is required.";
Login1_PasswordRequired.validationGroup = "Login1";
Login1_PasswordRequired.evaluationfunction =
"RequiredFieldValidatorEvaluateIsValid";
Login1_PasswordRequired.initialvalue = "";
// --> </script>
<script
src="/Login/WebResource.axd?d=ip31Uw_rLQyMbsyYd1lrHQ2&amp;t=632951258960156250"
type="text/javascript"></script>
<script type="text/javascript">
30
<!-var Page_ValidationActive = false;
if (typeof(ValidatorOnLoad) == "function") {
ValidatorOnLoad();
}
function ValidatorOnSubmit() {
if (Page_ValidationActive) {
return ValidatorCommonOnSubmit();
}
else { return true; }
}
// -->
</script>
</form> </body>
</html>
Como demonstrado, o próprio componente adiciona diversas diretivas de segurança na
entrada de dados do formulário de login como a obrigatoriedade na entrada de dados nos dois
campos e a proibição de login caso o usuário entre com caracteres especiais. Todas essas
regras são verificadas através de funções JavaScript (que nada tem a ver com a linguagem
Java). Ao utilizar scripts JavaScript não é necessário fazer um post para que o servidor faça os
testes.
Pode-se adicionar códigos JavaScripts em aplicação PHP, contudo para isso o
desenvolvedor deverá implementar tais códigos. Já em aplicações ASP.NET utilizando o
Visual Web Developer basta arrastar um simples componente para que toda a estrutura seja
criada.
4.8 Reuso da linguagem
As aplicações desenvolvidas para Web utilizam o paradigma cliente-servidor. Seja num
projeto PHP ou um projeto ASP.NET, o que o usuário verá na tela de seu navegador será uma
página com códigos HTML. Todas as páginas são lidas pelo servidor e antes de serem
enviadas ao cliente, são interpretadas. O resultado final é entregue ao cliente.
Escrever uma página PHP é muito simples. Para iniciar um script PHP numa página
HTML, basta abrir a tag <? e finalizar com ?>. Com isso é possível adicionar diversos trechos
de script PHP no decorrer da página, algo muito simples para profissionais que tenham uma
boa noção de HTML e lógica de programação estruturada.
31
Mas, por conta dessa junção entre a construção da página e scripts, surge um grande
problema: o reuso da linguagem. Quanto maior a complexidade da página, mais difícil será o
reaproveitamento de código PHP. Para um bom reaproveitamento do código a melhor forma é
através da orientação de objetos.
Umas das soluções para o reuso no PHP é o uso do Smarty. O Smarty é uma classe de
templates que separa a interface e a lógica de programação. Seu objetivo é facilitar e melhorar
o desenvolvimento das aplicações PHP. O Smarty também melhora o desempenho das
aplicações, pois acaba com o overhead (processamento ou armazenamento em excesso)
compilando tudo de uma só vez. Exemplo:
index.php
include (‘Smarty.class.php’)
$smarty = new Smarty;
//passer algum conteúdo ao template, geralmente valores provenientes
//de banco de dados ou outra origem. Exemplo estático:
$smarty->assign(‘nome’, ‘TeHospedo’);
$smarty->assign(‘endereco’, ‘Rua dos Andradas, 1234’);
//exibe template
$smarty->display (‘index.tpl’);
index.tpl
<html>
<head>
<title>Informações do usuário</title>
</head>
<body>Informações do usuário:<p>
Nome: ($nome)<br>
Endereço: ($endereco)<br>
</body>
</html>
Saída no navegador
<html>
<head>
<title>Informações do usuário</title>
</head>
<body>Informações do usuário:<p>
Nome: TeHospedo<br>
Endereço: Rua dos Andradas, 1234<br>
</body>
</html>
O ASP.NET adota um modelo de programação orientado a objetos, no qual os
desenvolvedores adicionam controles aos formulários e escrevem os códigos para manipular
os eventos. Todo o design da página é salva em uma página com extensão .aspx. Ao adicionar
códigos C ou Visual Basic sobre o projeto, é acrescentado um outro arquivo apenas para os
32
códigos (.aspx.cs ou .aspx.vb, respectivamente). Isso facilita muito o reuso dos códigos, pois
eles são desenvolvidos totalmente independentes da página que os utiliza.
4.9 Implementação da aplicação junto ao design do projeto
Como foi dito anteriormente, o editor de textos é usado para escrever aplicações PHP.
No entanto existem outros softwares que auxiliam nesta tarefa. No caso de criar design para
um projeto o mais utilizado é o Dreamweaver.
Uma das ferramentas que auxilia muito o desenvolvimento de um design padrão para
todo o projeto é o template. O template é um modo em que o desenvolvedor cria toda a
estrutura comum do site uma única vez, deixando espaços designados para serem mutáveis.
Essa ferramenta ajuda muito, tanto para websites grandes ou pequenos, pois se for necessário
alterar parte ou todo o visual do projeto, o desenvolvedor não precisará modificar página por
página. Uma vez modificado o template, ele atualiza todas as demais páginas.
Figura 14 – Exemplo de uso do template. No caso acima, apenas o quadro central é capaz de
ser editado.
33
O Visual Web Developer oferece uma ferramenta muito parecida com o template
encontrado no Dreamweaver: as Master Pages: O processo de desenvolvimento é
praticamente o mesmo: cria-se um arquivo de Master Page e automaticamente o Visual Web
Developer gera um arquivo com um quadro central. O que for editado fora deste quadro será
comum em todas as páginas. A área do quadro central é a parte onde poderá ser editada as
páginas do projeto.
Figura 15 – Master Page no Visual Web Develop.
34
5. CONCLUSÃO
Apesar do PHP possuir recursos para orientação a objetos, não é possível comparar PHP
diretamente com o ASP.NET, pois o modo de programação entre as duas linguagens é
totalmente diferente. O PHP é comparável com o ASP antigo, pois são duas linguagens com a
mesma funcionalidade e a mesma forma de programação (estruturado), enquanto o ASP.NET
pode ser comparado a tecnologia Java, pois trabalham em ambientes orientado a objetos.
Profissionais que possuem conhecimento em programação estruturada terão mais
facilidade a aprender PHP, enquanto que profissionais que possuem conhecimento em
ambiente orientado a objeto terão mais facilidades em programar ASP.NET através do
ambiente Visual Web Developer.
Desenvolver em PHP é mais barato quando comparamos com o ASP.NET. Apesar de
ambas as linguagens serem gratuitas, com o PHP é possível utilizar computadores de
hardware fraco para o desenvolvimento do código. Ao desenvolver com ASP.NET, o
recomendado é utilizar o ambiente de desenvolvimento Visual Web Developer, um software
que funciona em computadores com baixo processamento e memória, mas que necessita de
poder de processamento para incluir componentes e executar os projetos.
Ambas as linguagens oferecem muitos recursos quanto a segurança do projeto, com
destaque ao ASP.NET. Através dos componentes do Visual Web Developer e do ambiente de
configuração de segurança Web Site Administration, toda uma gama de verificações são
adicionadas ao projeto Web. Mesmo assim, a segurança do projeto depende que seu
desenvolvedor utilize todas as diretivas de segurança proporcionadas pela linguagem e
servidor, além de ficar atento a possíveis ataques e atualizações de hardware, software e
código.
Tanto PHP quanto ASP.NET são ótimas opções para desenvolver projetos Web. Apesar
da evolução do PHP quanto a seu desempenho em aplicações mais complexas, ele ainda deixa
a desejar em projetos maiores. O ASP.NET é mais indicado para grandes projetos pois seu
ambiente de desenvolvimento proporciona facilidades a tarefas repetitivas (através de seus
35
componente), agilizando o desenvolvimento , além de uma melhor separação quanto a código
e layout.
36
6. REFERÊNCIAS BIBLIOGRÁFICAS
ARAUJO,
Herbet.
A
História
do
PHP.
Disponível
http://php.locaweb.com.br/post.php?id=86. Acesso em 20 de agosto de 2006.
via
URL:
CISNEIROS, Hugo. Uso e Segurança com o.htaccess no Apache. Disponível via URL:
http://www.devin.com.br/eitch/htaccess/. Acesso em 13 de outubro de 2006.
DURÃES, Ramon. ASP.NET 2.0 - Visual Studio 2005 - Pré Beta2. Disponível via URL:
http://www.microsoft.com/brasil/msdn/Tecnologias/aspnet/WhidbeyBeta2Preview.mspx.
Acesso em 20 de agosto de 2006.
DURÃES, Ramon. ASP.Net 2.0 - Visual Studio 2005 (Whidbey). Disponível via URL:
http://www.imasters.com.br/artigo/2681/visual_studio/aspnet_20__visual_studio_2005_whidbey/. Acesso em 10 de julho de 2006.
FEITOSA, Ciro. Como desenvolver melhor na Web. Disponível via URL:
http://cirofeitosa.com.br/post/como-desenvolver-melhor-na-web. Acesso em 12 de outubro de
2006.
GUIMARÃES, Renato. ASP.Net - Uma mudança radical no desenvolvimento web.
Disponível
via
URL:
http://www.imasters.com.br/artigo/1624/dotnet/aspnet___uma_mudanca_radical_no_desenvolvimento_websua_vida_vai_m. Acesso em 12 de junho
de 2006.
MELGAR, Robinson. “Programe em ASP.NET”. Revista W, Edição 71. Ed. Europa,
Maio/2006.
MICROSOFT. Proteja seu servidor. Apresenta diversas dicas de segurança. Disponível via
URL:
http://www.microsoft.com/brasil/security/guidance/topics/devsec/secmod89.mspx.
Acesso em 25 de setembro de 2006.
MICROSOFT. Readme: Microsoft Visual Studio 2005 Setup Issues. Documentação do
software
Visual
Studio
2005.
Disponível
via
URL:
http://msdn.microsoft.com/vstudio/support/readme/default.aspx. Acesso em 15 de setembro
de 2006.
MICROSOFT. Requisitos do sistema Windows Server 2003. Disponível via URL:
http://www.microsoft.com/brasil/windowsserver2003/requisitos_sistema.mspx. Acesso em 15
de setembro de 2006.
MORAZ, Eduardo. “Treinamento Prático em PHP”. Ed. Novatec, 2005.
NIEDERAUER, Juliano. “Desenvolvendo Websites com PHP”. Ed. Digerati Books, 2004.
PAULI, Guinther. “Editorial”. Revista MSDN Magazine, Edição 30. Ed. DevMedia,
Agosto/2006.
37
PHP. A História do PHP e projetos relacionados. Documentação do PHP. Disponível via
URL: http://br.php.net/history. Acesso em 20 de agosto de 2006
SEGURANÇA. Guia de Segurança em Ambientes Web. Dicas reunidas pelo Governo do
Estado
de
São
Paulo.
Disponível
via
URL:
http://www.cqgp.sp.gov.br/manuais/seguranca/seguranca.htm. Acesso em 25 de setembro de
2006.
VIVAS, Mauricio. “Curso de Aplicações WEB em PHP”. Disponível via URL:
http://www.inf.ufsc.br/~vitor/get/AplicacoesWebemPHP.pdf. Acesso em 25 de maio de 2006.
WIKIPEDIA. ASP.NET. Disponível via URL: http://pt.wikipedia.org/wiki/ASP.NET.
Acesso em 12 de junho de 2006.
38
7. ASSINATURAS
________________________________
________________________________
Daniel Reenlsober
Prof. Ademário Araújo Jr.
FAJ - Orientador

Documentos relacionados

Felippe Velasques Giriboni

Felippe Velasques Giriboni linguagem de marcação utilizada para produção de páginas na web, que permite a criação de documentos que podem ser lidos em praticamente qualquer tipo de computador e transmitidos pela internet. Pa...

Leia mais