Version complète: sur le forum
Webmaster Hub :
flash& php-sécurité
themaster
mardi 23 octobre 2007 à 05:25
Je souhaiterais pour des questions de sécurité que flash puisse être en mesure d"interpreter une page .php et d'aviser en conséquence.
L'idée serait que flash vérifie si echo est égal à You must log in. mais bon j'ai testé ça marche pas bien qu'il n'y a pas d'erreur de syntaxe, donc quelque chose ne va pas.
Extrait du code main.php de ma page:
<?php
//
if(isset($_POST['user'])) {
echo 'Welcome ' . $user . '!';
?>
<?php
}
else {
echo '<font face="arial" size="2" color="red">You must log in.</font>';
}
?>
et dans le fichier .swf...... de ma page (main.php), ma suggestion:
loadVariables("main.php", "", "GET");
function echo() {
if (echo == "You must log in.") {
gotoAndStop(4);
}
}
}
Vos suggestions seront très appréciées
iNCiTE Web
mardi 23 octobre 2007 à 07:53
"echo" ne serait pas égal à
CODE
<font face="arial" size="2" color="red">You must log in.</font>
en entier ?
captain_torche
mardi 23 octobre 2007 à 08:30
Tu ne peux pas vérifier une variable PHP dans un script ActionScript, ils ne sont pas du tout liés.
Ce que tu peux sans doute faire, c'est vérifier si la personne est connectée, et ajouter une variable à ton SWF (du genre "fichier.swf?logged=true"; je vois que tu peux apparement le faire.
Sinon, ton code n'est pas du tout sécurisé; actuellement, tu testes juste la présence d'une variable POST pour afficher ton swf, et c'est très facile d'en ajouter une.
themaster
mercredi 24 octobre 2007 à 00:57
Arf
Alors avec mysql peut être c'est faisable
Un exemple de code que j'ai chopé sur le net:
$utilisateur_mysql = mysql_connect ("localhost","login","motdepasse");
mysql_select_db("basededonnée")
//
????? (je ne sais pas quoi mettre)
//
mysql_close();
}
iNCiTE Web
mercredi 24 octobre 2007 à 07:59
Tu confonds un peu tout, MySQL n'est pas une alternative à PHP, c'est un SGDB, donc base de données et rien à voir avec ton problème.
Tu as essayé la solution de captain_torche ?
captain_torche
mercredi 24 octobre 2007 à 09:23
Si, effectivement, MySQL semble être la bonne solution pour la gestion d'utilisateurs.
Il te suffit de vérifier que tu as bien une correspondance entre les login/mot de passe entrés, et les login/mot de passe en base.
iNCiTE Web
mercredi 24 octobre 2007 à 09:37
Pour la gestion d'utilisateurs oui, mais là il demande autre chose à la place de son script PHP et propose un bout de script sans vraiment sa voir je pense.
themaster
mercredi 24 octobre 2007 à 19:09
Oui je me suis embrouillé c'était pas clair dans mon esprit mais bon je crois que sql serait une solution.Ce dont je ne suis pas sur c'est à quoi resemblerait la syntaxe si par exemple après vérification du log in de l'utilisateur je doit aviser en conséquence dans le .swf
Un simple gotoAndPlay m'irait dans l'absolu...
iNCiTE Web
mercredi 24 octobre 2007 à 19:35
Et bien comme le dit captain_t, la requête va tester si le login/password est valide, si oui tu appelles le Flash en lui passant le paramètre logged=true ou pas...
titouille
mardi 4 décembre 2007 à 22:37
hello !
Objet loadVars
méthode sendAndLoad
retour php sous la forme de paramètres dans l'url :
CODE
<?
$login = isset( $_GET['login'] ) ? $_GET['login'] : "";
$pass = isset( $_GET['pass'] ) ? $_GET['pass'] : "";
// test via la base de données pour savoir si les données sont correctes...
// ...
// exemple de requête :
//
$res = mysql_query( "select count( id ) from users where login='".$login."' and password='".$pass."';" );
// ...
// ...
// renvoi de données vers Flash via LoadVars
//
echo "&login=1&value=test&hello=world";
?>
exemple :
CODE
var lv:LoadVars = new LoadVars();
lv.login = "pseudo";
lv.pass = "mot de passe";
lv.owner = this;
lv.onLoad = function( obj )
{
// récupération des données envoyées depuis php
if( this.login == 1 )
{
this.owner.loginSuccess();
}
else
{
this.owner.loginFailed();
}
}
lv.sendAndLoad( "monScript.php", "GET", lv );
function loginSuccess()
{
trace( 'login success !!!' );
}
function loginFailed()
{
trace( 'login failed...' );
}
J'ai noté tout ça de tête, plus vraiment sur de l'implémentation Flash mais dans les grandes lignes c'est ça, y a qu'a faire quelques recherches sur "LoadVars" et ça devrai aller tout seul

Bon courage, a++
eurl
vendredi 25 janvier 2008 à 14:13
Le but est je pense que des personnes non logés ne puissent pas accéder au swf si j'ai bien compris?
Le mieux, je pense serait de faire un répertoire protégé par .htaccess dans lequel les swf ne peuvent être lancés que par la page après login.
du genre :
.htaccess :
CODE
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName AccesRestreint
AuthType Basic
<limit GET POST>
order deny,allow
deny from all
allow from loginok.php
</Limit>
c'est pas mieux ça?
eurl
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez
cliquer ici.