Implementando rotinas de geolocalização

download Implementando rotinas de geolocalização

If you can't read please download the document

description

Palestra que tem por objetivo demonstrar conceitos ténicos e não técnicos envolvidos na implementação de rotinas de geolocalização em aplicações web.

Transcript of Implementando rotinas de geolocalização

  • 1. Implementando Rotinasde GeolocalizaoCC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 1 / 21

2. Quem?!Er Galvo Abbott trabalha h mais de 16 anosdesenvolvendo sistemas e aplicaes com interface web.Palestra em eventos, d cursos em diversas instituies e o Diretor da PHP Conference Brasil, o principal evento de PHPda Amrica Latina.Especializou-se em segurana de aplicaes web,abordando o tema em uma poca quando isso ainda era raro noBrasil. Trabalhou com diversas empresas de grande parte, tantonacionais como internacionais. o fundador e lder do GU PHPBR, Grupo de Usuriosde abrangncia nacional, que hoje conta com mais de 1.200usurios cadastrados.Site: http://www.galvao.eti.br/Twitter: @galvaoSlides e Documentos: http://slideshare.net/ergalvaoCC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 2 / 21 3. ObjetivoDemonstrar conceitos e detalhes tanto tcnicos quanto no-tcnicos envolvidosna implementao de rotinas de Geolocalizao em aplicaes web. Abordaremos osseguintes tpicos: Introduo O projeto ISOs envolvidas Sobre IPv4 e IPv6 Falhas conceituais Falhas inerentes CC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 3 / 21 4. Introduo Existem trs formas de se implementar uma rotina de Geolocalizao em umaaplicao: Utilizao de Posicionamento Global por Satlite (GPS) Posicionamento do dispositivo conectado (Triangulao por torres de transmisso) Anlise de endereo IP (GeoIP)Embora as duas primeiras ofeream uma grande vantagem na preciso, a terceirase aplica a qualquer dispositivo, mvel ou no, e ser o foco desta apresentao. CC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 4 / 21 5. Introduo - Maxmind A Maxmind uma empresa que fornece bases de dados de GeoIP. Foi escolhidapor possuir uma preciso razovel e por oferecer verses gratuitas de suas bases dedados, alm de uma API pronta em PHP e diversas outras linguagens.Principais vantagens: Preciso de 99.8% (nvel de pas) e de 72% (nvel de cidade no caso do Brasil) APIs prontas para C, C#, Java, Perl e PHP. Atualizado mensalmente Formato binrio para uso com a API ou CSV para importao diretaPrincipais desvantagens: Suporte confuso para PHP (port para PHP5, fork melhorado) Compatibilidade limitada com IPv6 Diviso de dados em dois arquivos CSV CC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 5 / 21 6. O ProjetoCC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 6 / 21 7. O Projeto XCC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 7 / 21 8. O ProjetoCC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 8 / 21 9. O Projeto XCC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 9 / 21 10. Por que no pode ser simples?X Problemas de performanceX Problemas em caso de impreciso da base de dadosX No renovvelX Apenas uma fonte de pesquisaCC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 10 / 21 11. Objetivosa Performance, maior inteligncia na localizaoa Preciso, mesmo sem automao totala Renovvel, correo automatizadaa Mais de uma fonte de pesquisa, maior preciso e confiabilidadeCC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 11 / 21 12. Conceitos do Projeto 177.18.69.152ClassesABCD IP (v4)17718 69152 IPs pertencentes a mesma Classe C so, normalmente, agrupados na mesma geolocalizao IPs/CCs geolocalizados incorretamente precisam de correo manual IPs/CCs corrigidos manualmente so bloqueados (locked) Todos os dados no bloqueados possuem um TTL TTL o tempo pelo qual um IP/CC no precisar ser verificado novamenteCC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 12 / 21 13. Conceitos do ProjetoCC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 13 / 21 14. ISOs ISO 3166-1 Alpha 2 http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2Cdigo nico para cada pas, contendo duas letras. , com raras excees, o mesmocdigo utilizado nos ccTLDs (Country Code Top-Level Domains).Por ser nico e ocupar pouco espao pode ser indexado.p. ex.: BR (Brasil), AR (Argentina), US (Estados Unidos), etc... ISO 3166-2:XY, onde XY um ISO 3166 Alpha2Cdigo nico para subdivises de cada pas (Estados, Territrios, Condados, etc...),composto de duas letras para o pas (sendo estas duas letras o ISO 3166-1 Alpha 2 do pas),um hfen e dois caracteres para a subdiviso em si.Tomando como exemplo o Brasil (http://en.wikipedia.org/wiki/ISO_3166-2:BR):BR-SP (So Paulo), BR-RJ (Rio de Janeiro), etc...No indexado em nosso projeto, por razes especficas.CC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 14 / 21 15. IPv4 e IPv6O que importante levar em considerao: Enquanto o IPv4 representado por 4 grupos de 8 bits, ou octetos, como por exemplo:192.168.100.1O IPv6 representado por 8 grupos de 16 bits, ou grupos de valores hexadecimais:2001:0DB8:0000:0000:130F:0000:0000:140B No existe converso de IPv4 para IPv6, o que existe o que se chama de IPv4-mapeado.Usando a notao de IPv4-mapeado, teramos o endereo anterior representado como:::FFFF:192.168.100.1 ou0:0:0:0:0:FFFF:192.168.100.1 ou ainda0000:0000:0000:0000:0000:FFFF:192.168.100.1 CC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 15 / 21 16. CC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 16 / 21 17. Falhas inerentesCC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 17 / 21 18. Falhas conceituaisX Atualizao de dados no previstaX Excesso de confiana na localizao por Classe CX Investimento zero? Exigir interao do clienteCC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 18 / 21 19. CC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 19 / 21 20. Concluso Geolocalizao uma feature cada vez mais importante em um nmero crescentede projetos. Embora seja possvel implementar uma rotina razovel de geolocalizaocom pouco ou nenhum custo, o projeto ideal passa por uma srie de questes quediferem bastante do apresentado aqui: Investimento em servios de qualidade para prover os dados Utilizao das trs formas (GPS, Triangulao e GeoIP), havendo uma tomada dedeciso, dependendo do caso, para qual forma deve ser preferida. CC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 20 / 21 21. Obrigado!? Dvidas? Crticas? Elogios?!CC Attribution-ShareAlike 3.0 Unported License by Er Galvo Abbott - 8/7/12 - 21 / 21