PHP : exemple de Formulaire qui permet de chiffrer de chaîne de requête (GET) (données cacher plutôt que de sécurité)
J'ai l'intention d'utiliser GET pour ma forme, mais souhaitez chiffrer les valeurs dans la chaîne de requête, de sorte que les utilisateurs ne sont pas en mesure de le changer. (pas pour la sécurité, mais pour les données de la clandestinité à des fins)
Je suis tombé sur un couple de sites web qui explique le chiffrement, mais il n'est pas clair pour moi comment faire pour le mettre en œuvre une fois que l'utilisateur appuie sur le bouton submit. Ex: http://myscriptlibrary.wordpress.com/2010/04/14/how-to-encrypt-query-string-in-php/
Est là un exemple qui pourrait montrer ce?
Grâce.
Vous devez vous connecter pour publier un commentaire.
À partir de ma compréhension du lien que vous avez fourni. Vous voulez chiffrer les variables passées en GET, ou au moins masquer eux.
La plus simple et la meilleure façon de le faire est d'utiliser
base64_decode/encode
Par exemple pour encoder la chaîne que vous feriez quelque chose comme:
$link
ressemblerait à quelque chose commehttp://www.example.com/?item=rklgEwkelnf%3D%3D
, mais pour traduire l'apparence déformée (base64ed) texte en quelque chose d'utilisable, vous devez utiliser:Alors vous pouvez utiliser librement les
$_GET
variable comme vous le feriez normalement.La solution suivante est assez facile à mettre en œuvre et est assez fort, à moins que vous traitez avec des données très sensibles comme les cartes de crédit-cartes de l'information ou de la NASA algorithmes...
Lorsque vous envoyez le paramètre via. GET - ajouter une valeur de hachage avec elle, par exemple:
Puis, quand vous lisez les paramètres, vérifiez que le hachage est valide:
La accepté de répondre ici ne fournit pas de protection réelle. Vous pouvez simplement prendre de l'encodage des paramètres et de les mettre en ligne base64_decode et il indique les valeurs que si vous avez tout juste de passer directement!
L'autre réponse utilise $hash comme un passage par valeur, mais cette valeur n'a pas été définie seulement $haché.
1 - Crypte votre var
2 - assurez-vous de coder correctement avec MIME base64.
3 - Faites ce que vous voulez (exemple : stocker dans votre base de données afin de décrypter plus tard, passer en GET etc ...)
4 - Décodage en base64 en toute sécurité votre var.
5 - Décrypter votre var
J'ai mis en place une classe qui fait le travail. (et la sécurité des données cacher)
Utiliser openssl méthode avec aes-256 en mode cbc sécurisé crypte (n'oubliez pas de vecteur d'initialisation)
Exemple :
//Plus tard passer dans $_GET par exemple
//Dans votre autre page, récupérer votre var
syntax error, unexpected ','
en ligne 24