PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Forum Général PHP » Date abimée, besoin de formatage » 24-12-2009 12:32:34

JulioBox
Réponses : 1

Bonjour à toute la communauté

Dans une table j'ai un champ "DateAjout" de type "DATE".
Les dates sont foirées, elles sont du genre : 2024-12-09 au lieu de 2009-12-24 car avant, ce champ était un VARCHAR(20) qui contenait "24.12.09".
Lors du changement de typde du champ, les dates se sont donc abimées.
Est-il possible via 1 ou 2 requêtes de remettre correctement les dates ?
J'ai pensé a faire un SELECT de la date, puis je split la date avec le "-", sur le 2024 je fais "-2000" j'obtient "24", sur le 09 je fais "+2000" j'obtiens 2009, puis j'inverse le 24 avec le 2009, et enfin je fais un UPDATE.
Mais ça me semble bidouille et compagnie ... Avez vous mieux ?
Merci d'avance

#2 Re : Forum Général PHP » Question de sécurité avec $_POST » 17-07-2009 13:02:17

C'est pas "Si je le dis", je viens de tester et sans le bon pass/user on ne passe pas malgré le ==, je vais TOUT DE MEME mettre === mais voilà...
Tu me dis une chose, je le test et ça ne fonctionne quand même pas. Peut etre une configuration/option de php5 fait que ... aucune idée.
Bref, si quelqu'un sait passer un TRUE pour que la faille fonctionne, qu'il se manifeste, mon script reste donc blindé malgré sa simplicité !

#3 Re : Forum Général PHP » Question de sécurité avec $_POST » 17-07-2009 13:02:17

J'ai trouvé comment envoyer du POST sans formulaire MAIS je ne peux tout de même pas envoyer de TRUE, en tout cas, ça ne fonctionne tout de même pas...
Vite fait testé avec :

$req = "username=".TRUE."&password=".TRUE;

et

$req = "username=TRUE&password=TRUE";

> edit : l'url passée est en fait : &username=1&password=1 DONC je me demande vraiment si c'est possible de passer TRUE tongue
Rien ne fonctionne :]
Une idée Alain pour faire passer ce TRUE correctement  ?
Sinon il me semble qu'on ne peut pas passer de TRUE validé avec un == de cette manière.
Merci

#4 Re : Forum Général PHP » Question de sécurité avec $_POST » 17-07-2009 13:02:17

sad okok je vais acheter des somnifères alors ...
Merci pour tout le reste

#5 Re : Forum Général PHP » Question de sécurité avec $_POST » 17-07-2009 13:02:17

Non mais je suis sérieux, ya pas un MP possible ? Un mail ? J'ai pas envie de rester dans l'ignorance, savoir que ça, ça existe, que mon == pouvait être dangereux et ne pas savoir, je vais mal dormir pendant 10 ans là Alain ! big_smile

#6 Re : Forum Général PHP » Question de sécurité avec $_POST » 17-07-2009 13:02:17

J'aime les histoires, et celle-ci m'intéresse afin d'éviter d'autres erreurs de sécurité, je vais donc mettre === mais j'aimerais tout de même en savoir plus sur cet envoie de $_POST. On dirait que tu essaies d'éviter d'en parler, est-ce un secret défense ?

#7 Re : Forum Général PHP » Question de sécurité avec $_POST » 17-07-2009 13:02:17

o_O je peux balancer un TRUE dans un $_POST sans passer par le INPUT ? C'est quoi ce truc hmm

#8 Re : Forum Général PHP » Question de sécurité avec $_POST » 17-07-2009 13:02:17

Merci pour cette réponse, j'ai essayé en mettant "TRUE" mais ça ne passe pas ! OUF ! J'imagine que le php compare "TRUE" en tant que chaine et non booleen.
edit : j'ai laissé == pour le moment.

#9 Forum Général PHP » Question de sécurité avec $_POST » 17-07-2009 13:02:17

JulioBox
Réponses : 13

Bonjour
J'ai fait un système simple de loggin/pass, je ne désire pas le changer, juste savoir si c'est sécurisé ou pas, si non, merci de m'indiquer la faille et si elle est grande/dangereuse et si un utilisateur peut vraiment faire des choses (même avec WebDeveloppeur, l'addon de firefox par exemple). Si oui c'est sécu alors tant mieux :)

Voici le code important :

<?php
require("config.inc.php");
$logginok=0;

if (isset($_POST['submit']))
{
 for ($i=0;$i<sizeof($users);$i++)
 {
  if ($users[$i]==$_POST['username'] && $passw[$i]==$_POST['password'])
  {
   $logginok=1;
  }
 }
 if ($logginok==1)
 {
 ...// actions admin ici
 }
}
...
?>

config.inc.php contient :

<?php
...
 $users[0]="defaultname";
 $passw[0]="defaultpass";
 $users[1]="defaultname2"; 
 $passw[1]="defaultpass2";
?>

Bien sur le tout derrière un formulaire !

<form name="monform" method="post" action="<?php echo $_SERVER['PHP_SELF'] ;?>">
 <label id="username">Nom</label><br />
 <input type="text" name="username"><br />
 <label id="password">Pass</label><br />
 <input type="password" name="password"><br>
 <input type="submit" name="submit" value="Entrer">
</form>

Merci d'avance à tous !

#10 Re : Forum Général PHP » Performance entre fichier et BDD » 27-06-2009 08:39:28

Bonjour
Merci pour cette réponse plus que complète, voir même trop complète ^^
J'avoue que je ne connait pas tous ces termes et c'est un peu trop "pro" pour moi ! Bravo pour ta maitrise cependant.
En clair un résumé de ta réponse pour :
- Dois-je continuer a pomper mon fichier txt (5ko maxi) ou mieux vaux que j'utilise mon mysql (phpmyadmin etc je n'ai pas le choix) ?
Merci

#11 Forum Général PHP » Performance entre fichier et BDD » 27-06-2009 08:39:28

JulioBox
Réponses : 3

Bonjour

Je me pose la question de savoir si il est mieux de :
- faire un accès en lecture à un fichier (5ko maxi) toutes les 10 secondes
ou
- faire une requete BDD (SELECT sur une seule table) toutes les 10 secondes

et même question avec lecture/écriture et donc SELECT/INSERT, toujours toutes les 10 secondes.

Merci d'avance

#13 Re : Forum Général PHP » [Résolu] Str_Replace et nombre de passage » 26-06-2009 13:51:19

...ou encore mieux chercher dans la doc mon cher Julio ><

$str = '10 bonjour truc truc bonjour truc truc bonjour';
$str1= array('/bonjour/', '/truc/', '/10/');
$str2= array('salut', 'machin', '99');
$newphrase = preg_replace($str1, $str2, $str, 2);
echo $newphrase; // "99 salut machin machin salut truc truc bonjour"

Ce résultat est celui que je cherchais !
Merci pour tes efforts tout de même !

ps : comment fait-on passer le post en "[Résolu]" ?

#14 Re : Forum Général PHP » [Résolu] Str_Replace et nombre de passage » 26-06-2009 13:51:19

Pas de problème, pour le moment je garde str_replace et si jamais j'y parviens, je la poste ici.
Merci à vous !

#15 Re : Forum Général PHP » [Résolu] Str_Replace et nombre de passage » 26-06-2009 13:51:19

Le résultat devrait être :

"99 salut machin machin salut truc truc bonjour"

Sur chaque mot, 2 passages maxi.

Merci de ton aide, je cafouille dessus ^^

#16 Re : Forum Général PHP » [Résolu] Str_Replace et nombre de passage » 26-06-2009 13:51:19

Et il te servirait à quoi le "99" de $str2 ?

On s'en fiche c'est un exemple hmm

#17 Re : Forum Général PHP » [Résolu] Str_Replace et nombre de passage » 26-06-2009 13:51:19

Oui l'exemple de la doc ne correspond pas avec mon besoin, c'était pour montrer que les ARRAY sont possibles.

Ce que je souhaite est donc :

      $phrase  = "bonjour bonjour bonjour";
      $str1= array("bonjour", "truc", "10");
      $str2= array("salut", "machin", "99");
      $newphrase = str_remplace_n($str1, $str2, $phrase, 2); // 2 passages maxi
      echo $newphrase; // salut salut bonjour

Suis-je clair ? merci encore

#18 Re : Forum Général PHP » [Résolu] Str_Replace et nombre de passage » 26-06-2009 13:51:19

Hello

Merci à vous 2, oui pardonné pas grave ^^

Ca marche bien mais contrairement à str_replace je ne peux utiliser un array en entrée hmm

Exemple de la doc :

// Génère : You should eat pizza, beer, and ice cream every day
$phrase  = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy   = array("pizza", "beer", "ice cream");
$newphrase = str_replace($healthy, $yummy, $phrase);

Avec remplace_n ça ne fonctionne pas : comment modifier ta fonction ?

Merci à vous

#19 Re : Forum Général PHP » [Résolu] Str_Replace et nombre de passage » 26-06-2009 13:51:19

Si tu avais seulement fait l'effort de comprendre la doc tu aurais compris l'utilité de ce quatrième argument optionnel à la fonction :

Exemple :

// Utilisation du compteur d'occurrences en PHP 5.0.0
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count; // 2

Déjà ton $str2 = str_replace('bonjour', 'salut', $str,2); planterais car "2" n'est pas une variable.
Et ce $count sera renseigné par la fonction, il contiendra le nombre de fois que "ll" aura été remplacé, en aucun cas il limitera le nombre de remplacement à ce chiffre.

Merci de ne pas prendre les gens de haut quand on se plante :]

#20 Forum Général PHP » [Résolu] Str_Replace et nombre de passage » 26-06-2009 13:51:19

JulioBox
Réponses : 16

Bonjour à tous !
Je n'ai pas trouvé le moyen de ne pas tout remplacer avec str_replace hmm

Exemple :

$str = 'bonjour à toi, bonjour à lui et bonjour à vous';
$str2 = str_replace('bonjour', 'salut', $str);
echo $str2;

=> 'salut à toi, salut à lui et salut à vous'
je souhaite le résultat :
=> 'salut à toi, salut à lui et bonjour à vous'
c'est à dire limiter à X passage maximum (ici 2)

Existe-il une autre fonction que je n'ai pas vue ?

Merci d'avance

Pied de page des forums

Propulsé par FluxBB