You are on page 1of 17

SISTEMA DE ENSINO PRESENCIAL CONECTADO ANLISE E DESENVOLVIMENTO DE SISTEMA LEANDRO ARAUJO CHAD

PRODUO TEXTUAL INTERDICIPLINAR INDIVIDUAL 5 SEMESTRE:

Arax 2013

LEANDRO ARAUJO CHAD

PRODUO TEXTUAL INTERDICIPLINAR IDIVIDUAL - 5 SEMESTRE:

Trabalho apresentado s disciplinas de Metodologia de Ensina e Pesquisa, Projeto de Sistemas, Interface Homem Computador, Sistemas Operacionais, Redes de Computadores, Programao Web da Universidade Norte do Paran - UNOPAR. Prof. Reinaldo Nishikawa, Prof. Marco Ikuro Hisatomi, Prof. Adriane Aparecida Loper, Prof. Everson Moraes Prof. Paulo Kiyoshi Nishitani, Prof. Veronice de Freitas

Arax 2013

SUMRIO

2 LIVROS DE REDES DE COMPUTADORES...........................................................4 3 APLICAO DO CONCEITO DE COMUNICABILIDADE NO AMBIENTE NOSSA LOCADORA DE LIVROS..........................................................................5 4 PESQUISA SOBRE SISTEMAS MULTIPROGRAMVEIS E MULTI PROCESSADORES ..................................................................................................6 5 PESQUISA EM SEGURANA DE CODIGO PHP .................................................8 6 ELABORAO DAS ATIVIDADES NECESSRIAS PARA ANALISE DO PROJETO E SEUS CRONOGRAMAS.....................................................................14 7 CONCLUSO....................................................................................................... 15 8 REFERENCIAS.................................................................................................... 15

1. INTRODUO. Abordaremos nesta produo textual toda a matria referente ao 5 Perodo do curso de Analise e Desenvolvimento de Sistemas, neste contexto ser mostrado o resultado da pesquisa de seis livros de redes de computadores com seus respectivos autores sendo referenciado, quanto a comunicabilidade ser mostrado como podemos aplicar este conceito no ambiente da Nossa Locadora de Livros justificando a aplicao do conceito no ambiente referido, ser mostrado atravs de pesquisa os sistemas multiprogramveis e com mltiplos processadores identificando suas caractersticas mais predominantes, e tambm as segurana em cdigos PHP, com base nos conhecimentos de projetos de sistemas descreverei as necessidades do projeto levanto em considerao a Elaborao das atividades necessrias para a Anlise do Projeto do sistema com seus respectivos responsveis e em seguida ser demostrado o cronograma das atividades relacionadas na elaborao das atividades necessrias para a analise do projeto.

2. LIVROS DE REDES DE COMPUTADORES. Tecnologia de Rede de Computadores, Autor Dantas, Mario, De forma moderna, o livro aborda as redes de comunicao e de computadores, apresentando protocolos de alto desempenho, os ambientes wireless, de cluster e grid computing. Os principais tpicos so - frequncia e sinal; transmisso analgica e digital; modulao, codificao e multiplexao. Junto com a obra vem uma tabela colorida de atribuio de faixas de frequncia no Brasil. Rede de Computadores e a Internet, Autor James F. Kurose & Keith W. Ross, Na primeira edio, foi proposta uma inovao no estudo dos conceitos fundamentais de redes de computadores: a viso top-down - isto , comeando na camada de aplicao e descendo at a camada fsica. Nesta edio, revisada e atualizada, essa abordagem foi mantida, deixando inalterados os aspectos mais importantes. No entanto, ela apresenta mudanas significativas: um novo captulo sobre redes sem fio e redes mveis, material novo e mais abrangente sobre redes P2P, BGP, MPLS, segurana na rede, roteamento broadcast e endereamento e repasse na Internet. Arquitetura de Rede de Computadores, Autor Maia, Luiz Paulo, O livro 'Arquitetura de Redes de Computadores' tem o objetivo de apresentar a estrutura e o funcionamento das redes de computadores de forma atual, abrangente e, principalmente, didtica. O livro aborda as principais tecnologias relacionadas s redes de computadores, apresentando padres de mercado consagrados como, por exemplo, os utilizados na Internet e redes locais Ethernet. Comunicao de Dados e Rede de Computadores, Autor Forouzan, Behrouz A, Apresenta, por meio de uma abordagem abrangente e acessvel teoria e aplicao de rede, as caractersticas de dispositivos utilizados nas redes de comunicao com computadores empregando o modelo de cinco camadas da Internet como estrutura para o texto. Isso no apenas pelo fato de o entendimento completo desse modelo ser essencial para a compreenso da teoria de redes mais recente, como tambm por ele se basear em uma estrutura de interdependncia em que cada camada construda sobre a camada que est abaixo dela e suporta a camada imediatamente superior.

Redes de Computadores: Uma Abordagem Top-down, Autor Behrouz A. Forouzan; Mosharraf, Firouz, O livro rene duas caractersticas importantes: a apresentao dos conceitos usando protocolos em camadas da Internet e da pilha de protocolos TCP/IP, e a abordagem top-down, ou de cima para baixo, que comea explicando os conceitos mais prximos da camada de aplicao at chegar camada fsica. O leitor consegue identificar situaes do seu dia a dia antes de passar aos detalhes de implementao usando os servios das demais camadas. Trata-se de uma obra essencial para estudantes de informtica, sistemas de informao, cincia da computao, engenharia eltrica e engenharia da computao e afins. Redes de Computadores - Use a Cabea! Autor, Anderson, Al; Benedetti, Ryan, Este livro seu parceiro na sua jornada passo a passo de administrador de rede jnior at guru, no apenas com respostas, mas tambm com as explicaes para suport-las. Voc est procurando problemas na sua rede de fibra? Voc acabou de descobrir que as plantas que voc recebeu deixaram de fora passagens de cabos maiores? Seja DHCP ou NAT, mapeamento de porta ou fraude de IP, roteadores ou switches, voc vai aprender o que est realmente acontecendo ... e como resolver os problemas que podem parar sua rede.

3 APLICAO DO CONCEITO DE COMUNICABILIDADE NO AMBIENTE NOSSA LOCADORA DE LIVROS. No estudo de caso proposto e trabalhando dentro do eixo temtico, podemos aplicar em nosso sistema interface grfica de apresentao intuitiva e amigvel, buscando assim uma maior interatividade homem-ambiente, sempre na viso de prestar o melhor para nossos clientes. Uma vez o cliente se sentindo confortvel na navegabilidade o teremos sempre como cliente e como divulgador dos nossos servio. Visando a acessibilidade poderemos implementar aplicativos para usurios com deficincia, nas variadas formas (auditiva, visual, cognitiva, dficit de aprendizagem e ademais), buscando assim expandir a clientela usurios do nosso sistema e consumidores dos nossos produtos, ressalvando, sem deixar de cumprir nosso papel social e inclusivo. Somando a estrutura esttica com as funcionalidades do aplicativo sempre lembrando da segurana do sistema e do banco de dados que pensamos

nestas implementaes, claro, sem esquecer de facilitar o uso de nossa ferramenta. O resultado esperado com o aprimoramento neste estudo de caso e o aumento significativo de visitas de provveis consumidores, gratuitos divulgadores e uma expanso no mercado virtual.

4 PESQUISA SOBRE SISTEMAS MULTIPROGRAMVEIS E MULTI PROCESSADORES. - Sistemas Multiprogramveis: ( multiusurio): Se caracterizam por permitir que vrios programas compartilhem diversos recursos. O SO se preocupa em gerenciar o acesso concorrente aos seus diversos recursos, como memria, processador e perifricos, de forma ordenada e protegida, entre os programas. Com o compartilhamento de recursos, tem-se um aumento na produtividade e a reduo de custos. (Estes sistemas podem ser classificados em: a) batch; b) de tempo compartilhado; c) de tempo real. a. Sistemas batch (lote): Caracterizam-se por terem seus programas armazenados em disco ou fita, onde esperam para ser executados seqencialmente. Alguns exemplos de aplicaes originalmente processadas em batch so compilaes, linkedies, sorts, backups e todas aquelas onde no necessria a interao com o usurio. Esses sistemas, quando bem projetados, podem ser bastantes eficientes, devido melhor utilizao do processador. Entretanto, podem oferecer tempos de resposta longos, em face do processamento puramente sequencial e com uma variao alta dos seus tempos de execuo. b. Sistemas de tempo compartilhamento (time-sharing): O usurio pode interagir diretamente com o sistema em cada fase do desenvolvimento de suas aplicaes e, se preciso, modific-las imediatamente. Devido a esse tipo de interao, estes sistemas tambm so conhecidos com on-line. Esses sistemas possuem uma linguagem de controle que permite ao usurio comunicar-se diretamente com o SO para obter informaes, como por ex., verificar os arquivos que possui armazenados em disco. O sistema, normalmente, responde em poucos segundos maioria desses comandos. Para cada usurio, o SO aloca uma fatia de tempo (time-slice) do processador. Caso o programa do usurio no esteja

concludo nesse intervalo de tempo, ele substitudo por um de outro usurio, e fica esperando por uma nova fatia de tempo. c. Sistemas de tempo real (real time): So semelhantes em implementao aos sistemas de tempo compartilhado. A maior diferena o tempo de resposta exigido no processamento das aplicaes. Enquanto em sistemas de tempo compartilhado o tempo de resposta pode variar sem comprometer as aplicaes em execuo, nos sistemas de tempo real os tempos de resposta devem estar dentro de limites rgidos, que devem ser obedecidos, caso contrrios podero ocorrer problemas irreversveis. Nos sistemas de tempo real no existe a idia de fatia de tempo, utilizada pelos sistemas de tempo compartilhado. Um programa detm o processador o tempo que for necessrio, ou at que aparea outro prioritrio em funo de sua importncia no sistema. Esta importncia ou prioridade de execuo controlada pela prpria aplicao e no pelo SO, como nos sistemas de tempo compartilhado. Esse sistemas esto pressentes nas aplicaes onde o tempo de resposta fator fundamental. - Sistemas com Mltiplos Processadores: Caracterizam-se por possuir duas ou mais UCPs interligadas, trabalhando em conjunto. Um fator-chave no desenvolvimento de SOs com mltiplos processadores a forma de comunicao entre as UCPs e o grau de compartilhamento da memria e dos dispositivos de entrada e sada. Sistemas com mltiplos processadores possibilitam aumentar a capacidade computacional com menor custo (escalabilidade), alm de permitir a reconfigurao e o balanceamento do sistema. Em funo desses fatores, podemos classificar os sistemas em a)fortemente acoplados ou b)fracamente acoplados. A - Sistemas fortemente acoplados: nestes sistemas existem vrios processadores compartilhando uma nica memria e gerenciados por apenas um sistema operacional. Mltiplos processadores permitem que vrios programas sejam executados ao mesmo tempo, ou que um programa seja dividido em subprogramas, para execuo simultnea em mais de um processador. Dessa forma, possvel ampliar a capacidade de computao de um sistema, adicionado-se apenas novos processadores, com custo inferior aquisio de outros computadores. Com o multiprocessamento, novos problemas de concorrncia foram introduzidos, pois vrios processadores podem estar acessando podem estar as mesmas reas de

memria. Alm disso, existe o problema de organizar de forma eficiente os processadores, a memria e os perifricos. Os sistemas fortemente acoplados podem ser divididos conforme a simetria existente entre seus processadores, ou seja, se todos os processadores podem executar ou no as mesmas funes. B - Sistemas Fracamente Acoplados: J o sistema fracamente acoplado so sistemas de computao ligados atravs de linhas de comunicao que cada maquina possui a sua prpria memria independente e funcionamento independente. .

5 PESQUISA EM SEGURAA DE CODIGO PHP Um programador tem que ser desconfiado, sempre esperar o pior, do usurio e principalmente de outros programadores. O mundo dos bits tem suas hienas espreita para sugar todos os dados do seu website e depois te deixar com uma dor de cabea das mais violentas. Nos ataques, conhecidos como injeo de cdigo e sql injection o objetivo se aproveitar de possveis brechas de segurana no seu script e inserir instrues que daro acesso ao invasor, a todas as informaes do seu banco de dados. E no porque voc no fez um website para uma multinacional ou portal que no precisa se preocupar com ataques. Os scripts de ataque no procuram por tamanho do website, mas por dados. As duas modalidades mais comuns nas tentativas de injeo de cdigo so atravs de formulrios e urls. Sendo assim voc deve se preocupar tanto em validar as informaes inseridas pelo usurio, como a estrutura das suas pginas e como os dados so passados entre elas. O PHP fornece uma ampla gama de funes para validao de dados. Vamos conhec-las e aprender a tornar nossos scripts verdadeiras fortalezas.

5.1 Injeo De Cdigo Na URL

A criao de urls amigveis por si s j ajuda a evitar esse tipo de ataque. Ele altera os valores das variveis que so passados de uma pgina para outra. Um exemplo comum quando so listados os produtos venda no website. Em uma pgina so mostradas somente a foto e o preo, ao clicar sobre eles passada a id correspondente para outra pgina que mostra os detalhes. A url no caso fica assim: http://www.site.com/descricao.php?id=10 A consulta essa:
<?php $id = $_GET[id] //10 $busca = mysql_query(SELECT * FROM produtos WHERE id=$id); // $busca = mysql_query(SELECT * FROM produtos WHERE id=10); ?>

Mas o invasor deseja ver mais que apenas os detalhes do produto. Ento ele se utiliza de uma SQL-Injection clssica, e altera o endereo para pesquisa: http://www.site.com/descricao.php?id= OR 1=1 Veja o que ocorre devido falta de validao:
<?php $id = $_GET[id] // OR 1=1 $busca = mysql_query(SELECT * FROM produtos WHERE id=$id); // $busca = mysql_query(SELECT * FROM produtos WHERE id= OR 1=1); ?>

A consulta no vai encontrar o id vazio, mas considera que 1 igual a 1. E como estamos falando de lgica, ela vai ser considerada verdadeira e vai retornar todos os registros da tabela! E se ao invs da tabela produtos fosse a tabela usurios? Imaginou o tamanho do problema?

5.2 Se Protegendo Com O filter_var

10

muito simples se proteger contra esse ataque. Como os valores das ids so nmeros, s garantir que o valor passado seja numrico, pois as tentativas de SQL-Injection sempre utilizam strings.
<?php $id = $_GET[id] ;// OR 1=1

$id = filter_var($id, FILTER_SANITIZE_NUMBER_INT); //resulta em 11 ?>

Simples, no? A funo s deixou nmero e nossa consulta vai ocorrer como o esperado. A funo filter_var uma grande facilitadora nas validaes. Ela s precisa que voc informe qual varivel ser analisada, o que voc quer checar e se existe alguma ressalva. A sintaxe simplificada da funo esta: filter_var ($variable, $filter, $options) Com ela voc pode validar tambm endereos de e-mail, ips, floats, urls, caracteres especiais. Uma funo bastante verstil. Veja mais sobre ela na documentao do PHP (http://docs.php.net/manual/pt_BR/function.filter-var.php) int() Mas se voc quer permitir somente nmeros como valor da varivel, o cdigo fica desta maneira:

<?php $id = (int)$_GET[id] ;// echo $id // 0 ?> OR 1=1

5.3 Validando Strings Voc possui um blog onde posta suas idias e repassa conhecimento. Tem espao para comentrios. Tudo muito democrtico. Voc acredita na boa inteno das pessoas e no se preocupa em validar os dados (ou

11

seria preguia?). Ento vem um desocupado e resolve comentar nos seus artigos inserindo um link para a pgina dele esperando melhorar de posio nas pesquisas do Google. E depois desse vem outro e mais outro. Fazem uma festa nos comentrios. htmlspecialchars() e htmlentities() Para dar um jeito nestes fanfarres voc pode bloquear os caracteres HTML que so inseridos nos comentrios. Para isso existe a funo htmlspecialchars().Ela converte caracteres que possuem significado para o HTML (&, , ,). Ele transforma, por exemplo, aspas duplas em " . A sintaxe htmlspecialchars($string, $quote_style, $charset, $double_encode) O primeiro parmetro a varivel a ser analisada, no seguinte voc informa o que ser feito com aspas duplas e simples. Por padro ele converte somente aspas duplas. No terceiro argumento voc informa a codificao dos caracteres e no ltimo voc informa se deseja no converter aspas duplas.
<?php $variavel = htmlspecialchars(<a href=http://www.site.com>Link</a>); echo $variavel // &lt; a href=&#039; http://www.site.com &#039;>Link</a>&lt; ?>

Um parente do htmlspecialchars() o htmlentities() que abrange mais alguns caracteres, mas trabalha com a mesma essncia. Para reverter a codificao utilizehtml_entity_decode(). strip_tags() Uma terceira maneira de lidar com tags HTML e tambm PHP utilizando a strip_tags(), que retira as tags da string. Primeiro a sintaxe: strip_tags($string, $allowable_tags) Voc fornece a string a ser tratada e resolver permitir a tag , ento preenche o segundo parmetro.
<?php $texto = '<p>Texto.</p><!-- Comment --> <a href="#ancora">Link</a>'; echo strip_tags($texto); // Texto. Link ?>

12

Com apenas uma funo voc se livra das tags indesejadas! Bem Tem alguns problemas. Se a tag estiver pela metade ou incompleta, pode ocorrer de ser retirado mais caracteres que o necessrio. Se voc permitir uma tag, os atributos inseridos nela no sero validados e isso abre uma brecha para manipular o cdigo. addslashes() Esta funo adiciona uma barra invertida antes da aspas simples, duplas, barra invertida e valores nulos. Voc s precisa passar a string a ser alterada. Mas antes de utilizar o addslashes() veja se a

diretiva magic_quotes_gpc do PHP esta setada. Pois ela faz o mesmo trabalho automaticamente. Para descobrir se ela esta setada execute:

Se ela estiver on no utilize o addslashes() caso contrrio sero aplicadas duas barras invertidas. mysql_real_escape_string() Voc pode dizer que existe uma grande variedade de funes para tratar aspas e se estiver se perguntando qual a finalidade, volte um pouco no incio do tutorial. Veja como uma SQL-Injection utiliza aspas. Isso porque nas consultas mysql, os termos precisam estar entre aspas. Para lidar em ltima instncia com elas existe tambm omysql_real_escape_string(). Com a seguinte sintaxe: mysql_real_escape_string($string, $link_identifier)
<?php $valida = mysql_real_escape_string($_POST[variavel]); ?>

13

Se

voc

tiver

utilizado

o addslashes(),

no

utilize

o mysql_real_escape_string()seno sero aplicadas duas barras invertidas ao invs de somente uma. preg_replace() Esta no uma funo para validao, mas funciona muito bem como mais uma ferramenta de proteo. preg_replace($pattern, $replacement, $subject) Ela procura os termos listados no primeiro parmetro e substitui estes, pelos caracteres do parmetro seguinte, analisando a string apontada no ultimo parmetro.
<?php $recebe = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables)/"),'', $string); ?>

No cdigo acima a funo procura pelas palavras reservadas do mysql que possam existir na varivel $string e as substitui por nada. O sql_regcase no meio para que a busca seja case insensitive.

14

6 Elaborao das Atividades necessrias para Analise do projeto com respectivos responsveis e seus cronogramas. Nesta Etapa ser elaborada a relao das atividades e seus respectivos responsveis. Teremos Como Atividades os itens a seguir: 6.1 Levantamento de requisitos, a obteno da aprovao do prottipo, a prototipao do software e a aprovao do sistema desenvolvido estas atividades tero com responsvel o Analista de Negcios. 6.2 Diagrama UML e seu responsvel ser o Projetista 6.3 Modelagem do banco de dados sendo seu responsvel o DBA (Administrador de Banco de Dados) 6.4 Desenvolvimento da Aplicao, Aprovao do sistema Desenvolvido tero como responsvel o Gerente do Projeto. 6.5 Teste do Sistema ter como responsvel o encarregado de testes. 6.6 Layout do sistema ter como responsvel o Designer de Telas. 6.7 Desenvolvimento da aplicao ter como responsvel o Programador. Abaixo temos o cronograma das atividades acima relacionadas.

Figura1 Cronograma das Atividades

15

7 CONCLUSO Atravs das pesquisas bibliogrficas realizadas para a confeco desta produo textual e durante todo o processo pode-se observar a citao de alguns livros referente a redes de computadores com suas sinopses e respectivos autores, alm de aplicarmos a comunicabilidade em nosso ambiente desenvolvendo telas mais intuitivas e de fcil utilizao alm de processos de acessibilidade para deficientes visuais e auditivos aumentando assim nossas possibilidades de negcios. Aps pesquisa feita pude verificar os sistemas multiprogramveis e multiprocessadores e suas atribuies como sistemas fortemente acoplados e sistemas fracamente acoplados alm de sistemas Batch, sistemas tempo real, sistema de compartilhamento. Com o grave problema de segurana da informao que vivemos hoje fizemos um levantamentos sobre segurana em cdigos PHP demostrando algumas opes que podemos utilizar para minimizar o problema de segurana como por exemplo a injeo de cdigo na URL, utilizando a validao de strings e o filter_var para garantir sua integridade. Finalizando a produo textual temos as atividades relacionadas ao projeto com todos os responsveis e um cronograma das atividades criadas atravs do programa GANTTPROJECT. 8 REFERENCIAS UNIVERSIDADE FEDERAL DO PARAN. Biblioteca Central. Normas para apresentao de trabalhos. 2. ed. Curitiba: UFPR, 1992. v. 2. HISATOMI, Marco Ikuro. Projeto de Sistemas. MATEUS, Elo Jane Fernandes. Sistemas Operacionais. NISHITANI, Paulo Kiyoshi. Rede de Computadores SOLER, Luciano , MORAES, Everson Matias. Desenvolvimento de Aplicao Web . http://pt.wikipedia.org/

16

http://www.webmaster.pt/blindando-codigo-php-638.html