Aller au contenu


ypicot

Inscrit(e) : 04 mars 2006
Hors ligne Dernière activité : 08 mai 2013 09:08
*****

#235360 Avertissement

Posté par ypicot sur 19 août 2012 - 08:19

Mais on est obligé de participer pour avoir des avertissements ? (C'était juste pour ne rien dire en passant)

Parler pour ne rien dire et ne rien dire pour parler sont les deux grands principes majeurs de ceux qui feraient mieux de la fermer avant de l'ouvrir.
(P. Dac)

Yvan


#232799 Problème D'exécution D'un Script Filemaker Avec L'api Pour Php

Posté par ypicot sur 04 juin 2012 - 08:56

Quatre trous de sécurité, du moins grave au plus grave :

Le premier est que ton login/pw circule en clair. En principe, tu devrais utiliser un tunnel SSH pour l'identification (les pages en https://...), mais cette méthode n'est employée que pour les accès sensibles (compte en banque, données médicales, ...). Pour une utilisation normale, pas de soucis. Sur fmsource, par exemple, on n'est pas en https, et c'est très bien.

$fm->setProperty('password', $password);
Là, je suis gêné car je ne suis pas certain que ça en soit un. Si ton mot de passe est stocké en clair, c'est moyen : si ta base de données est compromise, est-ce qu'on peut avoir accès à l'intégralité des login/pw ? De manière traditionnelle, on ne stocke pas le pw, mais uniquement sa clé MD5 ou SHA1. C'est pour cela que sur la majorité des sites, on ne te propose pas de te redonner ton pw, mais de t'en générer un nouveau.

echo "Error: " . $result->getMessage() . "\n";
En production, on n'affiche JAMAIS le msg d'erreur, car cela donne à l'attaquant des informations sur ton système. Tu stockes l'erreur dans un fichier de log et tu affiches uniquement "erreur dans la requete" (plus un lien pour revenir à la page d'accueil). Facile à corriger.

$user = $_POST['utilisateur'];
$password = $_POST['mot_de_passe'];
Là, c'est de loin le plus gros trou. C'est même une franche invitation au piratage.
Règle de base : on vérifie TOUJOURS TOUT ce qui rentre.
A MINIMA utilise la fonction filter_var ou une de ses soeurs (filter_input, filter_var_array, ...), et de la manière la plus restrictive possible, c'est à dire en disant "voila ce que j'autorise" plutôt que "voila ce que j'interdis".

Après, on peut blinder d'avantage par exemple en limitant le nombre d'essais de pw pour un login donné, mais je ne sais pas si c'est adapté au contexte.

Yvan


#232713 Problème D'exécution D'un Script Filemaker Avec L'api Pour Php

Posté par ypicot sur 01 juin 2012 - 11:01

J'l'avions point vu c'bug là...

Ton écriture est valide, mais tu trouveras une syntaxe parfois considérée comme plus propre.

<?php foreach ($records as $record): ?>
<tr>
<td><?php echo $record->getField('Qui'); ?></td>
<td><?php echo $record->getField('contrat'); ?></td>
<td><?php echo $record->getField('Motif'); ?></td>
</tr>
<?php endforeach; ?>

Note que le foreach se termine par : et non ;
http://www.php.net/m...uctures.for.php

Yvan


#232700 Problème D'exécution D'un Script Filemaker Avec L'api Pour Php

Posté par ypicot sur 01 juin 2012 - 08:03

Pour les afficher de manière un peu plus lisible, ajoute la balise <pre> devant de print_r.

Bizarre, ton truc...

Yvan


#232682 Problème D'exécution D'un Script Filemaker Avec L'api Pour Php

Posté par ypicot sur 31 mai 2012 - 16:28

fait un
print_r($records)
pour voir

Yvan


#232679 Problème D'exécution D'un Script Filemaker Avec L'api Pour Php

Posté par ypicot sur 31 mai 2012 - 16:05

mais c'est bizarre que je ne l'aie pas vu même après plusieurs re-lecture :dur:

C'est le principe de l'oeil neuf...

Si tu savais combien de fois cela m'est arrivé (et dans les deux sens...)

Yvan


#232674 Problème D'exécution D'un Script Filemaker Avec L'api Pour Php

Posté par ypicot sur 31 mai 2012 - 15:21

Ah, l'angoisse de la page blanche ;)

A première vue, ton foreach me semble tout à fait correct.

Par contre, tu définis deux fois le username de FM, mais pas le password.

Truc : si tu veux débogguer (du moins dans un premier temps), tu peux utiliser les fonctions print_r et var_dump (je te laisse regarder la différence qu'il y a entre ces deux là) et en truffer ton code, pour voir l'évolution des variables.
Astuce : tu peux encadrer ces fonctions avec une balise <pre> pour avoir qque chose de plus lisible.

echo '<pre>';
print_r($montruc);
echo '</pre>';

Yvan


#232620 Problème D'exécution D'un Script Filemaker Avec L'api Pour Php

Posté par ypicot sur 30 mai 2012 - 13:28

Une piste : rajouter ton critère (celui avec ton numéro d'utilisateur) au niveau du $findCom, et en virant (sauf si tu en as impérativement besoin) les différents impacts de $action (notamment le 'findall').

En fait, ce que tu demandes est assez facile à réaliser, mais je crains (une fois de plus) que l'utilisation de l'assistant soit plus perturbant qu'autre chose. Ou alors, il faut être capable de comprendre chacune des étapes du code généré par ledit assistant.

Yvan


#232612 Problème D'exécution D'un Script Filemaker Avec L'api Pour Php

Posté par ypicot sur 30 mai 2012 - 11:29

J'avoue que je n'ai fait que survoler ton script : beaucoup trop long.

Mais il me semble que le pb est dans la conception : quand tu fais une action sur le serveur (cad sur FM), tu modifies ce qui se passe sur le serveur, à aucun moment ce que tu récupères sur la page web. Si tu veux "juste tester", modifie un champ dans une table, et regarde si la modification a été apportée.

N'oublie pas non plus de regarder le contenu de la variable $result, pour vérifier qu'il n'y a pas d'erreur.

Yvan


#218273 Formation Filemaker

Posté par ypicot sur 18 mai 2011 - 18:08

Vaste question, dont les paramètres sont trop fluctuants pour avoir une réponse précise.
Quelles sont les connaissances exactes du candidat ? Que signifie "connaitre d'autres langage" ? Par exemple, maitrise-t-il les graphes relationnels ? Est-il à l'aise avec des concepts tels que la récursivité ou même les boucles ? (on ne rit pas, j'ai déjà connu un "développeur" qui avait du mal à écrire une boucle).
Par ailleurs, quelle est sa facilité d'apprentissage ? Rien que sur ce point-là, la durée peut varier du simple au quintuple.
Et enfin, quel est l'objectif visé, le niveau attendu ? Est-ce d'être capable d'écrire un script simple sur une base contenant 3 tables ? ou de pouvoir comprendre la mécanique interne de la fameuse CustomListe d'Agnès ou une astuce d'Ugo ?

Je pense qu'en un mois de formation, un informaticien peut avoir de très bonnes bases de FM (sous réserve qu'il ait l'esprit suffisamment souple pour comprendre le principe des GOT).

Pour rappel, je ne suis absolument pas un spécialiste de FM, et il est donc possible que mon jugement soit totalement faussé.

Yvan


#211197 Longue Vie À Fmsource

Posté par ypicot sur 17 décembre 2010 - 11:01

Je ne m'associe absolument pas aux félicitations ci-dessus (et peut-être ci-dessous).

Chacun sait en effet qu'Olivier et son équipe ne font strictement rien pour la communauté FM. Pas le moindre petit service, pas la moindre petite réunion (quand à une conférence annuelle, n'en parlons pas). De plus, les compétences dudit Olivier sont plus que limitées : les rares messages qu'il poste, en plus d'être à coté de la plaque, sont tous d'une arrogance, d'un mépris et d'un niveau technique qui montre bien que ce bonhomme n'a rien de fréquentable.

Aïe... non... pas sur la tête... aïe...

Yvan


#208312 Marre De Windows

Posté par ypicot sur 09 octobre 2010 - 14:09

Houla, tu nous as fait un festival, là.
Depuis que j'ai une connexion perso (~12 ans), j'ai pas du en prendre bien plus, et pas autant de dégâts.... :(

En windows depuis la version 95 (et en ayant tâté de la 3.1 avant), j'ai vécu des années sans le moindre anti-virus installé. Juste un scan régulier par précaution. J'ai viré des tas de mails suspects, vérifié les disquettes et CD qui entraient sur ma machine et cela suffisait. Il y a 2-3 ans, je me suis décidé à installer un AV gratos, qui m'a bloqué qques bricoles.
Mais pour la méchante bébète (d'ailleurs diagnostiquée mais non identifiée), c'est la première fois que je me prends qque chose de ce genre. Ce qui m'a scotché, c'est que même le live-cd de GData ne détecte rien.
Des outils genre MalwareByte ou Spybot se lancaient, et étaient arrétés en plein vol, jusqu'au moment ou le pc a complètement planté, même en mode sans echec. Réparer le MBR, analyser le disque, restaurer le système... rien n'y a fait. Je ne suis pas certain que les outils Acronis (je connais plutot le True Image, qui me semble être l'équivalent de la Time Machine du mac) aient pu faire qque chose.

En fait, cela m'aurait pris moins de temps de tout remettre en windows, surtout à cause de ma config Thunderbird qui était un peu tordue (base de msg sur des disques différents, donc liens vers des répertoires windows dont linux n'aime pas les noms, ...)

Il y a d'autres paramètres qui m'ont fait basculer en linux. Entre autre, j'ai installé un ubuntu 64 bits, ce qui me permettra de mettre dessus une machine virtuelle avec une version d'éval de windows 2008 serveur 64 bits, indispensable pour installer Sharepoint 2010.

Yvan


#202640 Session Calcul Et Ses Variations

Posté par ypicot sur 18 mai 2010 - 16:20

J'ai toujours eu du succès en décortiquant les fonctions de type SI, CHOISIR, ... et surtout en expliquant comment les aborder (formalisation en français, puis traduction en formule, évolution en spirale pour aller d'un cas simple à un cas plus complexe, ce genre de choses).

A l'opposé, tu peux faire un topo sur les fonctions trigonométriques, ou les fonctions Hiragana et associées, très en vogues sous nos longitudes. Très bien après un bon repas, car cela permet aux participants de digérer tranquillement en faisant la sieste...

Yvan


#198781 Un Bouton Executant Un Script Sur Ppi Php

Posté par ypicot sur 05 mars 2010 - 07:03

Le Devis avec le logo et le blabla se trouve sur un modèle dans la base FileMaker qui n'est pas dispo sur le Web, donc je ne peux pas faire un .pdf direct.

Tu as donc 2 FM distincts : un qui contient les infos et un qui publie sur le web ?

Je t'explique : le gars arrive sur le site, rentre les infos, il valide, va sur la page des résultats, qui valide en fait le devis avec le montant. Le gars a rentré son email dans la page précédente, il reçoit dans sa boîte email un .pdf avec l'en-tête et le blabla.

Aucun pb avec la solution que j'ai évoquée précédemment.

Si mon script FM s'appelle "envoi email", après avoir longtemps cherché sur le net, je pense avoir trouvé le code PHP :

Envoi_email->execute();

???
Non. Une fois de plus, regarde performScript.

Je souhaite en fait que dans le bouton de "Enregistrer enregistrement" qu'il valide le le devis et execute le script "envoi email" :

Image envoyée

qu'est ce que tu en penses ? est ce que tu connais ce code ? est ce que cela pourrait fonctionné ?

La bouton Enregistrer enregistrement apparait comme ceci :

<input type="submit" class="buttons" name="-new" value="Enregistrer enregistrement">


Comment je peux intercaler le code :

Envoi_email->execute();

Il y a une chose que tu ne sembles pas avoir comprise, c'est qu'un programme PHP s'exécute uniquement au moment ou l'utilisateur demande une adresse url (les puristes m'excuseront de ne pas aborder ajax ici).
Donc, quand ton utilisateur va cliquer sur "enregistrer enregistrement" (je passerai sous silence le label incompréhensible du bouton pour un internaute lambda), tu vas aller sur une nouvelle page "validation-commande.php"
Dans cette page, tu vas
- vérifier les informations envoyées pas le formulaire
- calculer le devis
- générer le pdf (que ce soit du coté FM ou du coté PHP)
- envoyer ledit pdf à la bonne adresse
- afficher le devis au format html.

Tu ne peux pas "intercaler du code" PHP qui sera exécuté sur la même page au clic d'un bouton. Ca, ca se fait avec du javascript, et le sport n'est pas le même.

Yvan


#191350 Pratique: Php/mysql Sous Snow Leopard Et Xdebug

Posté par ypicot sur 09 octobre 2009 - 12:52

J'aurais surtout dis "faite des sauvegardes".

Article très intéressant (ne serait-ce que pour envoyer les mac sur la bonne page), même si je le trouve un poil partial vis-à-vis d'Eclipse.

Merci Maxence
(tiens, du coup, je te mets un +1)

Yvan