Bem, nem sempre. Usando cookies, você é bom. Mas o "posso confiar em segurança com a identificação do ID presente" me incentivou a estender a discussão com um ponto importante (principalmente para referência, pois o número de visitantes desta página parece bastante alto).
O PHP pode ser configurado para manter as sessões reescrevendo URLs, em vez de cookies. ( Como é bom ou ruim (<- veja, por exemplo, o primeiro comentário) é uma questão separada , agora vamos manter a atual, com apenas uma observação: a questão mais importante com as sessões baseadas em URL - a flagrante visibilidade do ID da sessão nua - não é um problema com as chamadas internas do Ajax; mas, se estiver ativado para o Ajax, também estará ativado para o restante do site, portanto, existe ...)
No caso de sessões de reescrita de URL (sem cozinheiro), as chamadas do Ajax devem cuidar delas mesmas para que as URLs de solicitação sejam criadas adequadamente. (Ou você pode implementar sua própria solução personalizada. Você pode até mesmo manter sessões no lado do cliente , em casos menos exigentes.) O ponto é o cuidado explícito necessário para a continuidade da sessão, se não estiver usando cookies:
Se o Ajax chama apenas extrair URLs literalmente do HTML (como recebido do PHP), isso deve estar OK, pois eles já estão cozidos (umm, cookificados).
Se eles precisarem montar os próprios URIs de solicitação, o ID da sessão precisará ser adicionado à URL manualmente. (Confira aqui , ou as fontes da página geradas pelo PHP ( com reescrita de URL ativada ) para ver como fazê-lo.)
Do OWASP.org :
Efetivamente, o aplicativo da Web pode usar mecanismos, cookies ou parâmetros de URL ou até alternar de um para outro (reescrita automática de URL) se certas condições forem atendidas (por exemplo, a existência de clientes da Web sem suporte a cookies ou quando os cookies não forem) aceito devido a preocupações com a privacidade do usuário).
Em uma postagem no fórum Ruby :
Ao usar php com cookies, o ID da sessão será enviado automaticamente nos cabeçalhos da solicitação, mesmo para o Ajax XMLHttpRequests. Se você usar ou permitir sessões php baseadas em URL, precisará adicionar o ID da sessão a cada URL de solicitação do Ajax.
HttpOnly
sinalizador ao definir um cookie, o que significa que seu Javascript não poderá vê-lo. No entanto o cookie vai ainda ser enviada tanto para AJAX e pedidos de página regulares e continuar a trabalhar exatamente o mesmo. Seu Javascript simplesmente não o verádocument.cookie
.