-
Compteur de contenus
771 -
Inscrit(e) le
-
Dernière visite
Tout ce qui a été posté par Aenoa
-
le dump en lui même est bon, mais je pense qu'il faut pipe avant "gzip" ( |gzip ). ton fichier où il sera sauvegardé, c'est NomDuFichier.sql.gz. si tu veux le placer ailleurs, donne un endroit absolu ou relatif (/opt/backups/nomfichier.sql.gz). je te conseille également de mettre dans le nom de fichier la date, histoire que chaque dimanche, le précédent ne soit pas écrasé par le nouveau. Pour recevoir un mail, ça dépendra de ton serveur; Mais tu peux utiliser un smtp via un petit script pour te connecter aux serveurs Gmail, ou ton service d'emails transactionnels préféré. Pour la répétitivité de la commande, il te faudra taper crontab -e en terminal afin d'éditer tes tâches planifiées. Le format est simple: +---------------- minute (0 - 59) | +------------- hour (0 - 23) | | +---------- day of month (1 - 31) | | | +------- month (1 - 12) | | | | +---- day of week (0 - 6) (Sunday=0 or 7) | | | | | * * * * * command to be executed en suivant ce schéma, et pour le faire chaque dimanche, à minuit, cela devrait être similaire: 0 0 * * 0 /ton/chemin/vers/fichier/faisant/le/traitement.sh (théorique, je n'ai pas testé je suis au travail) Dans ton script, tu pourra donc exécuter le backup, l'envoyer quelque part, et envoyer un email. MAIS ATTENTION: si tu veux un LIEN dans ton email cela veut dire que ton fichier de backup est disponible sur le web, ce qui est extrêmement déconseillé pour la sécurité de la db Met le plutôt en pièce jointe (dépendant de ton service, la marche a suivre est différente.) ou ne le met pas en pièce jointe. Cordialement,
-
La commande est exécutée sous le nom d'utilisateur Apache (www-data par défaut sous debian). A-t-il les droits d'exécution etc? Le(s) fichier(s) devraient avoir au moins --x en permission (noread nowrite execute) et si le script créer/modifie/lis des fichiers, www-data doit également avoir les permissions pour (ci-inclut, les logs générés par shoutcast). Il se peut qu'il soit également exécuté en tant que PHP si tu as spécifié dans la config un utilisateur pour celui-ci. Si cela fonctionne sous Wheezy et pas sur versions supérieures, vérifie que tout soit identique niveau config serveur+moteur php+accès répertoire sous version plus récente. Autre solution: PHP tourne sur ton serveur web en SAFE MODE, et comme la doc l'indique; Note: This function is disabled when PHP is running in safe mode.
-
Concernant le 0 précédent pour les nombres <10, la concatenation peut etre une solution oui. SELECT CONCAT(ROUND(RAND() * 9),ROUND(RAND() * 9)); Tu peux aussi utiliser LPAD. SELECT LPAD( ROUND(RAND() * 99), 2, '0'); Pour le nombre à 18 chiffres, même popotte: SELECT ROUND(RAND() * 999999999999999999); et avec des leading 0, SELECT LPAD(ROUND(RAND() * 999999999999999999), 18, '0'); Bonne journée!
-
Bonjour, SELECT ROUND(RAND() * 99); tout simplement :-) Bonne journée!
-
Bonjour, Avec un bon retard comparé a la date de ce post, mais pour moi tout fonctionne bien. La vidéo est jouée.
-
Nihao, une chinoise arrive lol lol
Aenoa a répondu à lulu_chine - Forum : Les nouveaux membres se présentent
Bienvenue sur le hub lulu N'hésite pas à poser des questions, on est là pour aider à résoudre les problèmes si l'on connait la solution Bonne journée! -
Bonjour, Si vous avez toujours accès au ROOT et uniquement perdu l'accès à 'sheriffamay' il vous suffit de vous connecter en ROOT et d'entrer la requête suivante: -- mysql 5.7.6 et supérieur ALTER USER 'sheriffamay'@'adresse_distante_ou_localhost' IDENTIFIED BY 'nouveau_mot_de_passe'; -- mysql 5.7.5 et inférieur SET PASSWORD FOR 'sheriffamay'@'adresse_distante_ou_localhost' = PASSWORD('nouveau_mot_de_passe'); voici la marche a suivre pour réinitialiser son mot de passe ROOT sur une base de donnée MySQL, suivant la documentation officielle: - connectez vous en SSH / RDP a votre serveur exécutant MySQL - stoppez le serveur MySQL (kill -9 sur le process MySQLd ou en coupant le service) - créez un fichier contenant la requête ci-dessus en l'adaptant à vos besoins, et sauvegardez le dans un répertoire de votre choix (dans cet exemple, /home/aenoa/reset-password-mysql) - exécutez MySQL avec un fichier d'initialisation que vous venez de créer, ici: mysqld --init-file=/home/aenoa/reset-password-mysql & - une fois cela fait, supprimez le fichier que vous avez créé (/home/aenoa/reset-password-mysql dans mon cas) - si la mise à jour échoue, utilisez dans le fichier créé une requête plus générique, comme celle-ci: UPDATE mysql.user SET authentication_string = PASSWORD('nouveau_mot_de_passe'), password_expired = 'N' WHERE User = 'sheriffamay' AND Host = 'localhost'; FLUSH PRIVILEGES; (dans le cas où l'utilisateur sheriffamay se connecte sur l'adresse 127.0.0.1 ou localhost, adaptez encore une fois selon vos besoins). Ces instructions sont faites pour linux; de manière générale, vous devrez couper le serveur mysql, le relancer avec le paramètre --skip-grant-tables et ensuite vous y connecter pour exécuter la commande suivante: FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; -- pour MySQL 5.7.6 et supérieur -- ou SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass'); -- pour MySQL 5.7.5 et inférieur -- ou, si cela ne fonctionne pas, UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPass') WHERE User = 'root' AND Host = 'localhost'; -- pour finir, exécuter ceci FLUSH PRIVILEGES; (a adapter selon vos besoins) Bonne journée! plus d'informations et sources: https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html https://www.howtoforge.com/setting-changing-resetting-mysql-root-passwords
-
Bonjour, Un widget faisant? Uniquement des sondages? quel genre d'intégration? iframe? via injection JS ?
-
Si vous pouvez changer la requête SQL, il suffit de modifier la colonne contenant la dernière modification avec NOW() (dépendant du type de colonne cela peut varier) Si vous ne pouvez pas, je ne vois que le Trigger pour changer cela
-
Bonjour, la première effectue un SELECT * (toutes les colonnes) (que je déconseille, il vaut mieux spécifier les colonnes requises uniquement) et un IN (), qui doit donc parcourir toutes les données se trouvant dans la requête imbriquée, pour ensuite filtrer la requête primaire avec les données de l'imbriquée, et ce traitement prends du temps. La seconde ne possède pas de traitement, juste des valeurs brutes, ce qui réduit également le temps de traitement. Il doit simplement comparer une valeur avec une autre valeur, et non pas faire une récupération de valeur pour chaque enregistrement. Mon premier conseil serait avant-tout de changer votre SELECT * par le nom des colonnes requises, et si possible de faire une entrée de valeurs en brut. Ensuite, êtes-vous sûr que la colonne `villes`.`toto` contient une valeur de même type et identique à un enregistrement ? Aucun transtypage ne doit être fait par le serveur SQL ? Dans votre exemple, les données dans le IN devraient être toutes 38000 si l'on respecte la logique des noms, étant donné que votre requête récupère toutes les `toto` ayant comme `code_postal`= 38000, pour ensuite comparer la valeur de `toto` à `table1`.`cp` qui, d'après son nom, est aussi un code postal ? Cordialement,
-
Bienvenue sur le hub!
-
Bienvenue ici !
-
Bonjour, Tout d'abord, je ne peut que te suggérer de laisser tomber mysql_*. Ces méthodes sont déjà dépréciées en 5.X et totalement désactivées en 7.0, ce qui causera une armée de FATAL ERROR: MYSQL_FETCH_ARRAY IS NOT A FUNCTION et autres joyeusetés si ton projet venait à tourner dans un environnement 7.0. Ensuite, en effet, tu as la possibilité de re-sélectionner une colonne d'une table sous un autre nom grâce au mot clé AS. Comme indiqué par BlackPage, qui te propose une solution. Pour résumer: * Emploie une requête SQL similaire à ceci: SELECT test1.*, test2.*, test2.name AS t2name FROM test1 INNER JOIN test2 ON test2.test1_id = test1.id; * Le résultat sera semblable à celui-ci (utilisant des dummy-data) MariaDB [db]> select test1.*, test2.*, test2.name as t2name FROM test1 INNER JOIN test2 ON test2.test1_id = test1.id; +----+---------+--------+----+---------+----------+----------+---------+ | id | name | potato | id | name | pccotato | test1_id | t2name | +----+---------+--------+----+---------+----------+----------+---------+ | 3 | Test1-3 | C | 1 | Test2-1 | D | 3 | Test2-1 | | 2 | Test1-2 | B | 2 | Test2-2 | E | 2 | Test2-2 | | 1 | Test1-1 | A | 3 | Test2-3 | F | 1 | Test2-3 | +----+---------+--------+----+---------+----------+----------+---------+ 3 rows in set (0.01 sec) * N'utilise plus mysql_ en PHP. Privilégie la librairie PDO qui elle est supportée, et te permet de faire l'échappement des données bien plus facilement, en orienté objet. http://php.net/manual/en/ref.pdo-mysql.php * Utilise des préfixes ou suffixes dans tes colonnes, pour chaque table. Par exemple: MariaDB [db]> describe users; +--------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+--------------+------+-----+---------+-------+ | usr_id | int(11) | YES | | NULL | | | usr_name | varchar(30) | YES | | NULL | | | usr_email | varchar(240) | YES | | NULL | | | usr_password | varchar(150) | YES | | NULL | | +--------------+--------------+------+-----+---------+-------+ 4 rows in set (0.00 sec) MariaDB [db]> describe vehicles; +-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | veh_id | int(11) | YES | | NULL | | | veh_color | varchar(40) | YES | | NULL | | | veh_year | int(4) | YES | | NULL | | | veh_km | int(11) | YES | | NULL | | | veh_usr | int(11) | YES | | NULL | | +-----------+-------------+------+-----+---------+-------+ 5 rows in set (0.00 sec) Cela te permet, non seulement de toujours savoir à quelle table la colonne corresponds, mais cela évite tout doublon entre deux tables, le préfixe (ou suffixe) étant unique à une table. Dans mon exemple, j'utilise un préfixe, mais les gens ont plutôt tendance à utiliser un suffixe, tel que IDUSR, NAMEUSR, EMAILUSR, PASSWORDUSR, IDVEH, COLORVEH, YEARVEH, etc. Bonne journée!
-
My bad, c'est 2000 https://support.google.com/a/answer/166852?hl=en
-
Utilisant G Suite (nouveau nom pour G-apps) le quota d'email journalier est uniformisé avec gmail classique désormais, c'est 200 mails par jour max
-
Bonsoir, Dans tous les projets PHP, il y a des mots de passe écrit en dur: Base de données, serveurs SMTP, clés secrètes d'API, et j'en passe. Ton code source, a moins que tu ne tripatouille fortement ton serveur web, ne sera pas accessible par n'importe qui le visitant, donc je peut te dire que cela ne pose pas de soucis Concernant le SHA1, c'est utile dans une certaine mesure. Du moins, le système de cryptage en soi. Tu as différents algorithmes de Cryptage (avec ajout d'un "sel", et décryptable si l'on a le sel) OU de hashage (indécodable par après). Tu aura des bases en ligne de plein de mots traduits de crypto à normal, mais également de mots hashés. C'est pour cela qu'utiliser un mot de passe fort (lettres Min/Maj, nombres, caractères spéciaux, ...) t'éloignera du dictionnaire et donc d'un éventuel mot de passe déjà encodé. Pour ton SMTP cela ne sert à rien d'hasher, car ton serveur SMTP recevrait une valeur hashée et dira "oui mais zee1g5re1ge563rg1erheh13 c'est pas motDePasseDeMamieGateaux ! je refuse la connexion tiens. Hop. A la trappe.". Tu devra donc l'envoyer "en clair" (lisible dans le code) mais cela ne posera pas de souci crois moi. Par contre, vérifie bien que le protocole utilisé emploie le TLS/SSL sinon la transaction entre ton serveur et le serveur SMTP, lui, ne sera pas sécurisé et un logiciel "man in the middle" pourrait récupérer ses informations et les exploiter.
-
C'est si rare que ça de nos jours? J'espère que je ne suis pas en voie d'extinction ! Dans tous les cas, n'hésite pas à poser tes questions (dans les forums appropriés) et on tentera d'y répondre ! Bonne journée,
-
Bienvenue sur le hub Jiizen
-
Ravi de l'apprendre ! Bon début de journée
-
Bonjour, Quelles données exactement souhaitez vous récupérer? Toutes ? J'ai remarqué que vous le convertissez en array, pourquoi ne pas utiliser une méthode telle que count pour savoir si location contient un seul ou plusieurs objets ? Ou éventuellement, vérifier avec une méthode d'array si une des clés sensée ne pas s'y trouver existe dans le nœud de location.
-
Bienvenue sur le hub CodePromo24
-
Bienvenue sur le hub FDF
-
Bonjour, Bienvenue sur le hub n'hésite pas pour tes questions sur le PHP on est là pour ça
-
Création d'une mise en cache avec wordpress
Aenoa a répondu à 22Rsold3r - Forum : Techniques de Référencement
Bonjour, Pas la peine de réinventer la roue https://premium.wpmudev.org/blog/top-wordpress-caching-plugins/ -
Voici les mauvais points que j'ai relevé, c'est bien évidemment un jugement personnel: Manque de mentions légales en effet. De plus, le site est à moitié traduit, ce qui est assez désagréable à lire. Le livechat intrusif qui prends 40% de la hauteur de l'écran sur l'écran actuel, pas fan non plus, de plus qu'il se réouvre automatiquement à chaque changement de page. Les menus horizontaux avec sous-menu vide ou juste 1 sous-menu + séparateur, laissant penser que le site bug pour un utilisateur lambda. Le 3e lien pour "Nous suivre" représentant un flux RSS, mais qui est en fait un blog Aucune adresse physique indiquée ni numéro de TVA / Registre de commerce ou similaire ? L'objet du formulaire de contact avec 2 options uniquement - Il serait plus intéressant de proposer "type" de service à contacter, et laisser l'objet du mail en libre encodage "Paiement 100% sécurisé" affiché sur tout le site mais site sans HTTPS, de nos jours l'on se doit d'avoir un site en HTTPS quand cela vends quelque-chose, même si la partie grand public non inscrit n'a aucune transaction bancaire - cela rassure le client de voir une barre verte en haut ! Lors de la commande, on trouve enfin les conditions de vente ! Mais c'est un lorem ipsum (voir ici)