Services : Actualité Emploi Blog Forum Flux
Formation Trafic : Référencement Liens sponsorisés Affiliation Ecommerce Nom de domaine E-réputation Marketing Mobile Black Hat
Formation Technique : Performance Web Html Css Sql Curl Asp Dotnet Php Ajax Wordpress Twitter Google Analytics

Forum Oseox
Oseox

Curl, complétude de formulaire

Forum Référencement et Trafic
Nous sommes le Mar 21 Nov 2017 01:26

Heures au format UTC [ Heure d’été ]




Poster un nouveau sujet Répondre au sujet
Auteur Message
MessagePosté: Lun 20 Juil 2009 21:08 
Avatar de l’utilisateur
Bonjour,

je tente de réaliser un petit script sous curl afin de poster a distance et surtout dans un temps déterminé par avance sur site partenaire. (ce site m'autorise a poster un article par jours, or je publie mes articles le samedi pour toute la semaine. j'essaye donc de créer un script qui propose mes publications chez ce partenaire tout les jours, via un cron)

je m'exerce avant sur le site blogmarks.net (parce que le formulaire est simple et qu'il fallait bien un site de test)

voici mon script


Code:
<?php

define('LOGIN', 'moncompte');
define('PASSWORD', 'monmotdepasse');
define('AUTHENTIFICATION', 'http://blogmarks.net/');
define('PAGE_PRIVEE', 'http://blogmarks.net/my/marks,new');

$ch = curl_init(AUTHENTIFICATION);
curl_setopt($ch, CURLOPT_POST, TRUE);

//les variables demandé par le formulaire d'identification
curl_setopt($ch, CURLOPT_POSTFIELDS,
    array(
        'login' => LOGIN,
        'pwd' => PASSWORD,
      'connect' => 1
       )
);

curl_setopt($ch, CURLOPT_COOKIEJAR, realpath('cookie.txt'));
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$ret = curl_exec($ch);

//variable demandé lors du formulaire de soumission de mon marque page
$postfields = array();
$postfields["action"] = "submit";

$postfields["new_titre"] = "mon titre";
$postfields["new_url"] = "http://www.monsite.com/mon-article/";
$postfields["new_description"] = "description de mon article";
$postfields["new-publictags"] = "tag,de,mon,article";
$postfields["new-privatetag"] = "";
$postfields["new-via"] = "http://www.monsite.com";
$postfields["referer"] = "http://blogmarks.net/my/";
$postfields["post-token"] = "MTI0NzM4ODE1Nw=="; //ca je sais pas ce que c'est mais apparement c'est la meme valeur meme si je rafraichi la page.
 
$useragent = "Mozilla/5.0";
$referer = "http://blogmarks.net/my/";

//Initialise la session CURL sur la page authentification effectuée
$ch = curl_init(PAGE_PRIVEE);
//CURL options
curl_setopt($ch, CURLOPT_POST, 1);
//On poste les données du tableau $postfields
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_REFERER, $referer);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($ch);
curl_close($ch);

?>



Mais cela ne fonctionne pas , j'ai une page blanche, et aucun ajout dans mes blogmarks préférés.
j'ai beau retourner le script dans tous les sens, je ne vois pas.

le script est plus que basé sur les 2 articles suivants:
developpez
SEOblackOut

Merci par avance de votre aide :mrgreen:


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Mer 22 Juil 2009 21:10 
Avatar de l’utilisateur
Salut,

Tu as intérêt à commencer par valider un formulaire sur l'un de tes sites pour être sur qu'ils n'ont pas mis en place quelque chose pour bloquer ce genre de soumission.

blogmarks.net doit être la cible de pas mal de soumissions automatiques.


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Jeu 23 Juil 2009 13:45 
Les cookies et voire analyser les valeurs de retours au formulaire d'authentification pour débugger le truc.


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Ven 24 Juil 2009 01:16 
Faz a écrit:
(...)
Tu as intérêt à commencer par valider un formulaire sur l'un de tes sites (...)

+1.
Si tu maitrises pas déjà les 2 bouts, il te sera difficile de tester chez 'n_importe_qui.com'. Fais les tests sur une de tes pages, et quand ca marche reviens tester chez eux :)


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Ven 24 Juil 2009 22:05 
Avatar de l’utilisateur
merci de vos conseils que je vais suivre, surtout que blogmarks n'est que pour tester, donc autant que je teste sur un site a moi, c'est plus correct et moins risqué.


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Jeu 19 Nov 2009 13:05 
Bonjour,
A ta place j'éviterai de poster des codes (ou une partie d'un code) quand on ne sait pas ce qu'il veut dire.
tu as mis ceci
Code:
$postfields["post-token"] = "MTI0NzM4ODE1Nw=="; //ca je sais pas ce que c'est mais apparement c'est la meme valeur meme si je rafraichi la page.


MTI0NzM4ODE1Nw== c'est l'id de l'article encodé avec base64_encode et on peut aisément décoder ce genre de code pour obtenir le vrai numéro. (1247388157).
Le risque que tu prend en mettant des codes de ce genre c'est que le site en question aurait très bien pu mettre ton mot de passe ou d'autre truc du genre dans le code source de la page (surtout si le code ne change jamais).

On reconnait facilement le type d'encodage car les (=) sont spécifiques à base64_encode.

C'est juste un conseil amical.
Bien à toi
Denayer J


Haut
 Profil Envoyer un e-mail  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 6 messages ] 

Heures au format UTC [ Heure d’été ]


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Abonnez-vous au flux RSS

Blog

Forum

Offres d'emploi

Copyright : Moteur, traduction et optimisation
Merci de votre visite sur le forum Oseox