Question

J'utilise Flask depuis un certain temps et j'apprécie vraiment le cadre. Une chose que je ne comprends pas est que, dans presque tous les autres endroits où ils parlent de stockage de la session sur le serveur et l'identifiant de session sur le client, qui serait alors identifier la session. Cependant après avoir utilisé flacon, je ne me sens pas la nécessité de le faire. Enregistrement de la session en tant que cookie sur le client sert cryptographiquement mon but et semble tout à fait assurer aussi. La seule chose être que je suis incapable de chiffrer les clés de session pour par exemple:

session['life'] = 'the great one'

apparaîtrait comme

life='gfhjfkjdfa some encryption kj'

dans le cookie enregistré sur le client. Mais comment cette question car il est toujours crypté. Je suis sûr que les gens connaissent ici les choses beaucoup mieux que moi, si quelqu'un demande à vous préciser :-)

Était-ce utile?

La solution

Même si vos données sont cryptées, l'utilisateur peut encore faire reculer leur cookie à un état précédent (sauf si vous commencez à coder un ID temps, etc.)

par exemple. biscuit indique que l'utilisateur dispose de 100 crédits, l'utilisateur passe 100 crédits, ils obtiennent un nouveau cookie disant qu'ils ont 0 crédits. Ils pourraient alors restaurer leur biscuit précédent (avec 100 crédits).

Selon la façon dont vous cryptez le cookie, l'utilisateur peut également être en mesure de supprimer des clés, insérer des données fausses, etc aussi.

Autres conseils

Si les données de session est nécessaire au niveau du serveur, il est logique de le stocker au niveau du serveur. Il garde en bas de la masse de données envoyé et revenir du client. En outre, les cookies ont une limite sur la quantité de données qu'ils peuvent stocker.

En plus des points déjà mentionnés ci-dessus

  1. Les utilisateurs peuvent désactiver les cookies à l'aide de leurs paramètres de votre navigateur. Un grand nombre de scanners antivirus aussi les cookies d'analyse et drapeau comme un risque en raison de laquelle ce qui peut aussi entraîner les cookies ne sont pas autorisés sur l'ordinateur de l'utilisateur.

  2. Les cookies peuvent être supprimés par l'utilisateur, même au milieu de sa session. (En fait, je l'ai fait par inadvertance que l'autre jour un de mes scans de PC listés les cookies de suivi ... et je viens cliqués « Clean » et ils étaient tous partis). Si l'utilisateur arrive à supprimer les cookies, l'état des utilisateurs seront perdus.

Si vous utilisez des cookies pour gérer l'état entier, vous êtes toujours dépendant de l'environnement client et ses paramètres. En tant que tel, vous aurez probablement besoin d'atleast un mécanisme de retour à l'automne dans le cas où les cookies sont supprimés / désactivé etc pour que votre application fonctionne correctement.

La mise en œuvre de SecureCookie Flask utilise ne cryptent pas les valeurs . La seule chose qui est assurée est que l'utilisateur ne peut pas modifier le cookie sans connaître le secret utilisé par l'application.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top