2013-03-06 3 views
1

Je veux connecter ce page avec php: Mais je reçois erreur quand j'essaye de me connecter avec php.connexion instagram avec php curl

Lorsque j'essaie de me connecter, le code change en permanence. Donc je ne peux pas me connecter.

Le code est:

<input type="hidden" name="csrfmiddlewaretoken" value="728a44ea6f15dee51406b0c82be3a03b"/> 

Merci pour l'avance de l'aide

+1

Ce jeton CSRF est en train de changer pour une bonne raison. Pourquoi n'utilisez-vous pas la fonctionnalité OAuth d'Instagram? http://instagram.com/developer/authentication/ – richsage

+1

Je crois que c'est contre leurs conditions d'utilisation, utilisez leur api –

Répondre

0

Vous devez ouvrir la page avec le formulaire et lire la valeur de « csrfmiddlewaretoken » dans un var (avec un regex par exemple). Vous devez également stocker le cookie de session (curl a une méthode pour stocker les cookies dans un fichier conteneur, ou vous pouvez le faire vous-même en analysant les en-têtes de réponse et en stockant la valeur cookie pour le définir dans l'en-tête de requête demandes).

Ensuite, vous pouvez définir "csrfmiddlewaretoken" dans votre demande de connexion (qui doit envoyer le cookie de session).

1

De toute évidence, Instagram est protégé contre la falsification de requêtes intersites. Vous pouvez lire tout sur cette attaque here.

En fait, les gars d'Instagram ne veulent pas que vous soumettiez le formulaire de connexion sans le montrer d'abord. C'est ce que csrfmiddlewaretoken est pour: Ils vous le donnent (valeur aléatoire) quand le formulaire est affiché et quand vous le soumettez, ils vérifient si vous avez retourné celui qu'ils vous ont donné. Voir le OWASP cross-site request forgery prevention cheat sheet.

Donc, ce que vous avez à faire est de demander le formulaire de connexion, d'en obtenir le jeton, puis de vous connecter à une seconde requête et d'y inclure ce jeton.

(Peut-être ils une double contrôle là-bas, dans ce cas, vous devez envoyer le jeton deux fois: à la fois dans vos données post et comme un cookie).