输入问题答案查看内容如何做比较安全?
如图,有这样一个表单,需求就是回答问题正确才能查看内容,在一定时间如1天内再次访问不用回答问题,请教各位一般通常可行的办法是什么?
目前的做法是:回答正确了,写一个cookie值为1,下次来判断这个cookie值是否为1,否则需要重新回答问题,这样做明显不安全,伪造一个cookie访问不就可以查看到受保护的内容了。
回复内容:
如图,有这样一个表单,需求就是回答问题正确才能查看内容,在一定时间如1天内再次访问不用回答问题,请教各位一般通常可行的办法是什么?
目前的做法是:回答正确了,写一个cookie值为1,下次来判断这个cookie值是否为1,否则需要重新回答问题,这样做明显不安全,伪造一个cookie访问不就可以查看到受保护的内容了。
你的做法接近了,但不够安全,更安全的做法是生成一个随机的Token,并设置有效期。这个token由于是随机的而且位数较多,不容易被伪造。
1.可以按楼上说的,你可以这样做啊,值是随机生成的,那么你是不是想问你怎么知道用户传过来的时候这个TOKEN是不是你随机生成的?我觉得可以放在缓存里如REDIS,并给一个有效期,他要是提交时我们查看没有这个值我们就认为他自己伪造的或者说是过期了已经。
2.如果这个页是用户登入的,你可以根据他的用户ID,在用DES加密生成一个COOKIE啊直接在COOKIE里给有效期。然后这样你就不怕他是不是伪造了,因为有人想伪造时,他不知道你的DES加密时的KEY是多少,只有你自己知道。
这样是否可行?
回答问题正确,存一个cookie,值是md5(今天日期+salt),下次访问校验的时候,计算md5(今天日期+salt)是否和存的cookie相同,就可以了。但是这样做,只能不用再次回答问题的有效时间是隔天就失效。
大家有更好的办法吗?

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

CakePHP est un framework MVC open source. Cela facilite grandement le développement, le déploiement et la maintenance des applications. CakePHP dispose d'un certain nombre de bibliothèques pour réduire la surcharge des tâches les plus courantes.

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et
