10
votes

Comment éviter que JavaScript puisse être empêché d'accéder aux données de Cookie PHP?

(tiré d'un entretien d'embauche)

Laquelle des réponses suivantes est correcte?

  • Utilisez le paramètre httponly lors du réglage de la cookie
  • L'utilisateur doit désactiver le support JavaScript
  • C'est un cadre de cookie dans le navigateur
  • Seul le domaine émetteur peut accéder au cookie
  • One est sur le client et l'autre est sur le serveur, ce n'est donc pas un problème

1 commentaires

4 Réponses :


1
votes

Un cookie est le côté du client .....?

L'utilisateur doit désactiver le support JavaScript - agressif

Utilisez le paramètre httponly lors de la réglage de la cookie - probablement la bonne réponse, mais comme il a été répondu plus tôt .. Il y a des contours je suppose


0 commentaires

1
votes

Les cookies sont un concept HTTP, pas un concept PHP. PHP peut créer et modifier des cookies, mais il n'existe pas de telle chose comme un "Cookie PHP". Le navigateur ne se soucie pas de si la réponse a été générée par PHP, ou par Python, ou par un CGI Perl.

essayer d'identifier ce qui pourrait être la vraie question, les possibilités sont:

  1. le cookie pour conserver l'identifiant de la session dans le navigateur
  2. Un cookie envoyé avec Setcookie

    Je parie pour la question 1. Je comprends que la bonne question devrait être:

    "Pourquoi le côté client utilise JavaScript ou toute autre méthode, il est impossible d'afficher ou de modifier les informations stockées dans la session PHP?"

    Ensuite, la réponse est la suivante:

    "Parce que, même si les sessions PHP utilisent des cookies, ces cookies ne sont utilisés que pour stocker l'ID de session, pas le contenu de la session. Le contenu de la session est stocké sur le serveur, pas dans le cookie lui-même."


0 commentaires

6
votes

Lorsque l'en-tête de la cookie est défini, vous pouvez spécifier httponly code>.

Ceci peut être effectué via la fonction de Setcookie CODE> SETCOOKIE CODE> PHP: P>

setcookie ( $name, $value, $expire, $path, $domain, $secure, $httponly )


0 commentaires