PHP – Envie dados ao servidor mesmo se o usuário fechar o navegador

PHP – Envie dados ao servidor mesmo se o usuário fechar o navegador

7 de março de 2018 2 Por Ramos de Souza Janones
Como vender Software - Seja desktop, web ou MobilePowered by Rock Convert
Powered by Rock Convert

Como enviar dados ao servidor mesmo fechando o navegador via PHP. Exemplo: um usuário preenchendo formulário e desistir mesmo assim enviar estes dados ao servidor. 

Para resolver este problema existe o método Navigator.sendBeacon no PHP. Um método permite que você envie pequenas requisições, com o fim de enviar dados analíticos para seu servidor.

// Adiciona um evento que é executado ao "descarregamento" da página

window.addEventListener("unload", logData, false);

function logData() {
  navigator.sendBeacon("/log", analyticsData);
}

É importante lembrar que nem todos os browser ainda suportam essa funcionalidade (estou falando isso em 2018). Porém é importante ressaltar que existe um pequeno polyfill.

Polyfill – Pequena explicação

Explicando de forma prática, para que qualquer um entenda: Você quer usar um recurso muito bom do javascript, por exemplo fetch() ou Promise().

Mas alguns navegadores, como o Internet Explorer, não possuem suporte a estes recursos. De uma forma bem mal feita, você coloca aquele if maroto para saber se o navegador tem suporte e, caso não tenha, você usa alguma forma alternativa, ou até mesmo diz logo ao usuário que ele não pode usar tal recurso.

Usando um pollyfill, este vai detectar que o navegador não tem suporte e vai implementar na hora ali, usando gambiarras funções disponíveis para aquele navegador, e vai fazer com que seja possível usar o recurso com a mesma interface inclusive. No caso é como se o navegador tivesse suporte a tal recurso.

Curso de PHP ERP com NFe.

Futuramente, se o navegador passar a ter suporte ao recurso, o pollyfill pode ser desativado para ele, já que a implementação do código é a mesma, nada muda.

Polyfill com PHP para manter a compatibilidade:

navigator.sendBeacon = navigator.sendBeacon || function (url, data) {
  var client = new XMLHttpRequest();
  client.open("POST", url, false); // terceiro parâmetro indica que a solicitação será assíncrona
  client.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
  client.send(data);
};

 

Apenas explicando o código PHP acima: A requisição assíncrona bloqueará a página até que a requisição seja enviada. Deve-se, portanto, tomar o devido cuidado para não atrapalhar a navegação do usuário em tais casos.

Não esqueçam que se por acaso uma aba falhar ou o browser fechar inesperadamente ou o sistema operacional for desligado, ou não tiver conexão com a internet é bem provável que isto não irá funcionar, no entanto combinar navigator.sendBeacon com um sistema de ociosidade de tempo pode funcionar muito bem.

Outros tutoriais e dicas sobre PHP:

PHP não é a única linguagem de script server-side disponível – existem muitas outras disponíveis. Entretanto, ela tem uma vantagem sobre seus competidores se você está rodando um site WordPress.

Como mencionamos anteriormente, o WordPress é construído usando PHP. Então ao usar essa linguagem, ele pode aumentar drasticamente a quantidade de customização que você pode ter no seu site.

Você pode usá-lo para modificar os plugins e temas disponíveis ou até mesmo criar o seu próprio. Se você quer se tornar um desenvolvedor WordPress, aprender PHP é uma obrigação.

Com ele, você consegue criar aplicações para efetuarem alguma tarefa que o usuário determinar. Essas aplicações são compiladas dentro de um servidor, chamado de server-side, ou, script do lado do servidor – termo tradicional e muito utilizado pelos programadores quando se fala em PHP.

Caso você ainda não esteja convencido, aqui estão alguns outros motivos para entender que o PHP é uma ótima linguagem de script para se utilizar:

  • Fácil de aprender —  você pode aprendê-la facilmente já que ela tem ótima documentação sobre suas funções junto de exemplos.
  • Amplamente utilizada — ela é utilizada para criar qualquer tipo de plataformas como ecommerce, blogs, redes sociais e assim em diante. Estatísticas mostram que 79% de todos os sites usam PHP!
  • Baixo custo — ela é de código-aberto então você pode usá-la gratuitamente.
  • Grande comunidade — se você encontrar qualquer problema com ela, não é necessário se preocupar porque há muitos blogs sobre PHP na internet.
  • Integração com bases de dados — alguns exemplos são MySQL, Oracle, Sybase, DB2, etc.

Dicas de Aplicações Para o PHP

Desenvolver um site ou algum projeto na internet não é nada fácil. Existem coisas que você deve se preocupar bastante para que tudo ocorra perfeitamente, como a segurança.

Afinal, é necessário garantir a confiabilidade do seu sistema e dos usuários que o visitam. Por isso, os programadores precisam ficar cientes e atentos às ameaças que existem no mundo da internet.

1 – Cookies Diferentes

A primeira dica é evitar que ocorra roubo de sessão. Qualquer invasor tem conhecimento do nome padrão utilizado pelo PHP para salvar IDS, que é PHPSESSID. Ao mudar esse nome, você dificulta a entrada ou ação de algum invasor que queira prejudicar a aplicação.

2 – Acesse Cookies via HTTP

Os IDS são armazenados de maneira padrão, como acabamos de mostrar acima. Porém, a propriedade session.cookie_httponly não é padrão.

Dentro do PHP, existe uma configuração, onde é possível acessar os valores das variáveis salvas no navegador através do JavaScript, o que traz um risco para sua aplicação.

Portanto, é recomendável que seja habilitado o session.cookie_httponly no arquivo php.ini. Fazendo isso, você torna possível acessar as informações somente via HTTP.

Isso impediria o famoso Cross-site scripting (XSS), um ataque que se aproveita da vulnerabilidade de um sistema e códigos JavaScripts são injetados para roubar informações do site que foi atacado.

3 – Proteja suas Pastas Confidenciais

Esse método não é exclusivo de páginas que foram programadas com linguagem PHP. É uma defesa básica na configuração do servidor web, porém importante.

Dentro do PHP você encontra diversas configurações armazenadas em arquivos XML, txt, JSON, ini e muitas outras. Quando você acessa esses arquivos pelo navegador, todos ficam visíveis. Se houverem informações ou arquivos confidenciais, você precisa se proteger.

Porém, essa configuração é somente para servidor web Apache, e que o mod_rewrite esteja habilitado para que o arquivo .htaccess funcione corretamente com as instruções abaixo:

  1. <Files>
  2. order allow, deny
  3. deny from all
  4. </Files>

Isso irá evitar o acesso.

PHP vs JavaScript

Nós mencionamos anteriormente que você pode fazer várias coisas com PHP. Contudo, ele é mais amplamente utilizado para gerar conteúdos dinâmicos.

Powered by Rock Convert

Se você está familiarizado com o JavaScript, pode saber que ele também é usado para fazer com que uma página estática se torne mais dinâmica e interativa. Portanto, nós temos duas linguagens de script que possuem funções similares.

Por que precisamos de ambas? Quando se trata de criar um website dinâmico, de fato é possível projetar um que rode apenas em JavaScript. Contudo, a funcionalidade pode variar consideravelmente – não necessariamente no bom sentido.

Com o JavaScript, você pode criar um site dinâmico que permite interações simples como efeito de rolagem do mouse, autocorreção e galerias de fotos. Mas ele não pode criar conteúdo gerado por usuários como redes sociais e ecommerce (sites que mudam de acordo com o comportamento do usuário). Para fazer isso, você precisa de PHP.

Vamos dizer que você está fazendo o login numa rede social. Para mostrar o seu perfil, o PHP recupera os seus dados da base de dados e envia o resultado para o seu navegador.

Quando você promove uma alteração no seu perfil, o PHP irá guardar essa nova informação na base de dados para recuperações futuras. O processo total faz com que seja possível para uma rede social exibir diferentes conteúdos para usuários distintos.

No final das contas, isso significa que JavaScript e PHP não são competidores. Ao invés disso, eles complementam um ao outro para criar um site belo e dinâmico.

 

Conclusão

PHP é uma linguagem de script do tipo server-side com diversos propósitos. Porém, ela é principalmente utilizada para gerar conteúdos dinâmicos num site.

Trata-se de uma linguagem altamente popular devido à sua natureza de código aberto e suas funcionalidades versáteis. Ela é simples o suficiente para novatos, mas programadores profissionais podem também usá-la para recursos mais avançados.

Aprender e entender PHP indubitavelmente irá melhorar as suas habilidades de desenvolvedor – você poderá criar qualquer tipo de website que desejar, se tornar um desenvolvedor WordPress habilidoso e até mesmo criar uma aplicação para web um dia!

Então, como você pode ver, há todos os motivos para você aprender PHP, não é mesmo?

 

Powered by Rock Convert
Siga os bons!
Últimos posts por Ramos de Souza Janones (exibir todos)
0 0 vote
Article Rating