PHP - masquer l'url (GET) paramètres
J'ai un lien dans mon PHP/HTML comme ceci:
<a href="http://search.mywebsite.com/login.aspx?checktype=uid&user=adam&password=pass1234&profile=dart&defaultdb=kts"> Log me into this website </a>
Lorsque l'utilisateur clique sur le lien, les paramètres sont gérés par une 3ème partie site le journal des utilisateurs de façon transparente.
Est-il possible de cacher/masque/camouflage l'url de sorte que les utilisateurs ne voient pas les paramètres, tout continue de passer sur le site désigné?
Si non, comment voulez-vous les gars aller à ce sujet? Je suis surtout inquiet à propos de l'utilisateur et le mot de passe params et ont besoin de ceux qui sont cachés. (utilisateur=adam&mot de passe=pass1234)
La seule façon que je sais comment masquer params est lors de l'utilisation d'un formulaire en méthode post, mais dans ce cas, il n'est pas une option parce que je travaille avec un lien direct.
EDIT:
À ceux qui gardent ce qui suggère à l'aide de la méthode POST, ce n'est pas une option parce que je ne suis pas à l'aide d'un formulaire et de la réception de site web est hors de mon contrôle. Je suis connecté à partir d'un site à l'autre (3e partie) site web
journal individuel en est pas une option, car il n'existe qu'un seul (de l'entreprise) sur le compte de la 3e partie du site que l'ensemble de notre département utilise pour se connecter avec. C'est un peu comme une connexion unique. Je viens de découvrir cette vulnérabilité et la nécessité de trouver un moyen de le résoudre.
OriginalL'auteur Emir Memic | 2014-06-27
Vous devez vous connecter pour publier un commentaire.
Votre seule option est d'utiliser un formulaire et après, si la page de votre enregistrement dans l'est contrôlé par une 3ème partie:
MODIFIER: Si il doit y avoir un lien et javascript peut être nécessaire, alors vous pouvez utiliser javascript pour créer et soumettre une formulaire à la volée:
OriginalL'auteur cOle2
Ne pas utiliser $_GET pour passer personnelles, confidentielles ou des données cruciales. Utiliser $_POST au lieu de cela.
Je ne sais pas ce qui vous empêche d'utiliser $_POST mais si vous insistez sur l'utilisation de toute façon, essayez de md5() pour coder ces données et de les valider si nécessaire. Vous pouvez toujours utiliser $_SESSION pour passer $_POST connexion de données pour une utilisation ultérieure.
OriginalL'auteur Sates
De s'entendre et de chiffrement et de hachage approche (MD5 par exemple). Alors un retraitement page qui déchiffre le message avant d'appeler le script requise. Je suis en train de faire cela en php... Juste pour vous montrer l'idée.
par exemple. http://www.mydomain.com/preporcessor.php?request=qouiapfiwe0i9qrr9qyy83r34rqejl
preprocessor.php (pseudo-code)
Noter que mydecryptfunction($request) est une fonction que vous allez créer.
Si il ya une option de l'utilisation de SSL, aller pour elle. Vos options sont limitées si vous n'avez pas de contrôle sur la réception de site web. Vous pouvez proposer cette possibilité.
OriginalL'auteur Justjyde
Un identifiant qui doit être fait par la POSTE, de ne pas OBTENIR. En outre, les informations sensibles doivent être envoyées via le protocole HTTPS.
Le processus de création de connexion sécurisée fonctionnalité pourrait avoir un livre entier sur le sujet, alors je vous suggère de commencer par la lecture de le guide de référence pour les formulaires web d'authentification.
Si vous avez des questions plus spécifiques concernant la sécurité, je vous suggère d'essayer le plus à De sécurité.SE.
OriginalL'auteur Polynomial
Vous ne pouvez pas faire cela à l'aide de la méthode GET. Il serait utile que vous nous avez donné plus d'informations. Êtes-vous essayer d'obtenir un utilisateur de votre site pour vous connecter à un autre site web? Dans ce cas, ils pourraient avoir une API pour ce que vous pourriez vérifier.
OriginalL'auteur gustavormello
Vous pouvez générer des jetons de ces fonctions:
dans votre base de données de générer une chaîne de caractères aléatoires:
C'est une fonction qui retourne une chaîne de caractères aléatoires
maintenant enregistrer un jeton avec le nom d'utilisateur/id et en utilisant cela, vous pouvez facilement générer plus de jetons pour le même utilisateur, ainsi que d'annuler toute jeton facilement..
Si vous n'avez pas accès au site web, il n'est pas sûr de le faire il y a une chose que vous pouvez faire est de raccourcir le lien, mais il ne va pas aider à les cacher à un geek gars.
Si je créer un formulaire qui enregistre le titre, l'url et les paramètres à l'intérieur d'une base de données. Puis en php construire une boucle foreach qui génère un formulaire pour chaque url(y compris les params) mais rend seulement le titre et le lien qui pointe verssearch.mywebsite.com/login.aspx"? En ce sens, chaque clic sur le lien vais faire un post de présentation. Pensées?
OriginalL'auteur Shubanker