PROJET AUTOBLOG


Le blog de Seboss666

Site original : Le blog de Seboss666

⇐ retour index

Désactiver les commentaires sur les fichiers joints dans WordPress

vendredi 2 août 2019 à 18:30

Récemment, j’ai commencé à subir une vague de spam sur la page « attachment » d’une image d’illusatration d’article liée à editorconfig. Bizarrement je n’ai pas les options pour désactiver les commentaires sur cette page, du coup je dois la jouer autrement.

Je vous laisse juger aux notifications mail :

Il n’y a pas de réglages spécifiques pour les commentaires sur les fichiers joints, il faut donc procéder de manière un peu détournée et pour ça on va faire appel à deux éléments de WordPress différents.

La force des thèmes enfants

La mise en place d’un thème enfant devrait être une obligation dès que vous voulez utiliser un thème communautaire. C’est ce que j’ai fait sur ce blog dès le premier ravalement, et je ne regrette absolument pas.

Dans un thème enfant on définit notamment un fichier principal functions.php qui va contenir toutes nos directives maisons. Au fil du temps j’y ai inclus pas mal de choses, suppression des query string, masquage des détails de login, et autres petits raffinements. À noter que comme n’importe quel fichier php, rien ne vous empêche de mettre vos codes maison dans un fichier à part et de procéder à une inclusion dans functions.php ensuite, si vous multipliez les éléments maison pour la lisibilité c’est peut-être mieux.

On va donc ajouter une fonction de plus :

function disable_media_comments( $post_id ) {
if( get_post_type( $post_id ) == 'attachment' ) {
wp_die("Comment not allowed.");
}
return $open;
}
add_action( 'pre_comment_on_post', 'disable_media_comments' );

Cette fonction ajoute une vérification lors de l’ajout d’un commentaire, si on est sur un type attachment on renvoie une erreur sans traiter le commentaire.

La base de données pour nettoyer les contenus existants

J’ai déjà eu à jouer avec par le passé pour désactiver les pings, et il me semble que ça avait fait l’objet d’une astuce diverse. L’idée est donc de modifier massivement les attachments pour désactiver les commentaires manuellement :

UPDATE `wp_posts` SET `comment_status` = 'closed' WHERE `post_type` = 'attachment' AND `comment_status` = 'open';

C’est aussi simple que ça. Évidemment disclaimer faites une sauvegarde avant toussa…

D’autres pistes ?

La seule autre solution que j’ai pu lire consistait à désactiver tous les commentaires. Sauf que vous le savez, j’aime justement vos retours sur les bêtises que je peux raconter, du coup, je les laisse activé. Cette fonction supplémentaire ne coûte pratiquement rien en ressources, donc on va pas s’en plaindre. Sinon en analysant les logs j’ai découvert que les POST étaient fait en HTTP 1.0. Je pourrais éventuellement désactiver le protocole si je vois qu’il ne sert à rien d’autre que ça 🙂

Ma banque et l’éducation au phishing

vendredi 19 juillet 2019 à 18:30

J’ai eu l’occasion récemment de pester contre ma banque à l’occasion d’un énième mail de publicité, quand j’aimerais plutôt avoir les infos importantes, qui elles continuent d’être envoyées seulement en papier. Et pire, après une prise de contact via le site web, la notification de réponse est arrivée avec encore un autre domaine. Voyons donc pourquoi je suis colère.

En fait, c’est par rapport à ce qu’on apparente à de la sécurité informatique, ici surtout l’éducation à la lutte contre le phishing. En effet, parmi les réflexes que l’on essaie d’inculquer aux utilisateurs pour éviter les fraudes, il y a l’analyse de l’expéditeur.

Voici donc ce que j’ai reçu dans ma boîte mail qui semble provenir de ma banque, mais qui me fait tiquer :

Ce domaine n’est pas celui du Crédit Mutuel, pourtant tout le contenu du mail m’y fait penser (et le « Réponse à » aussi). Deux possibilités, soit la banque fait une connerie, soit le malfaisant est super doué. Avant de cliquer sur n’importe quoi, j’analyse donc rapidement le domaine, avec un whois :

domaine pourrave pour l’envoi de notifications

$ whois e-i.com
Admin Name: Benoît WIESEL
Admin Organization: Euro Information
Admin Street: 4 rue Frederic-Guillaume Raiffeisen
Admin City: STRASBOURG
Admin State/Province:
Admin Postal Code: 67000
Admin Country: FR
Admin Phone: +33.388148054
Admin Phone Ext:
Admin Fax: +33.388148530
Admin Fax Ext:
Admin Email: nsmaster@e-i.com
Registry Tech ID:
Tech Name: Benoît WIESEL
Tech Organization: Euro Information
Tech Street: 34, rue du Wacken
Tech City: STRASBOURG
Tech State/Province:
Tech Postal Code: 67000
Tech Country: FR
Tech Phone: +33.388148054
Tech Phone Ext:
Tech Fax: +33.388148530
Tech Fax Ext:
Tech Email: nsmaster@e-i.com
Name Server: LDNSSE1P.E-I.NET
Name Server: LDNSSE2P.E-I.NET
Name Server: LDNSIE1P.E-I.NET
Name Server: LDNSIE2P.E-I.NET

Toujours pas de Crédit Mutuel sur ce domaine, mais un nom qui revient à plusieurs endroits, je cherche donc à en savoir plus sur ce monsieur. Chou blanc sur Qwant, je me rabat sur Google qui est un peu plus efficace puisqu’il me présente ce lien dans les résultats : une décision de justice concernant une demande pour faire cesser l’utilisation d’un domaine proche de celui du Crédit Mutuel, avec le monsieur présenté comme représentant ledit Crédit Mutuel. Donc tout va bien finalement.

Mais bon dieu comment voulez-vous qu’on soit efficace dans l’éducation des gens quand les banques se mettent à faire de telles conneries, alors qu’elles sont les premières à se plaindre quand leurs clients se font avoir par des mails frauduleux ? Une des composantes essentielles qu’on enseigne pour détecter les fraudes est justement le fait que le domaine ne correspond pas. Hors c’est précisément le cas ici, et vous avez vu les efforts de recherche que j’ai du effectuer pour m’assurer au final que c’était légitime ? Qui prendrait le parti de faire ce genre de vérification ?

Donc pitié, quand vous construisez vos mails de communication, quelle que soit la finalité, utilisez un domaine au plus proche, mieux, si vous pouvez utilisez le même ça ira très bien. Vous rendrez service à tous ceux qui ont l’habitude d’éduquer vos utilisateurs à la détection de fraudes, autrement dit vous aiderez vos utilisateurs à avoir confiance en vous, et vous vous aiderez à les éviter de se faire enfumer. Merci.

Comment (bien) profiter des jeux Big Fish Games sous Linux !

mercredi 17 juillet 2019 à 18:30

Bien que je puisse être occasionnellement intéressé par la multitude de point&click que la plateforme indépendante propose, c’est surtout pour ma mère que je m’y suis intéressé, cherchant depuis des années à la débarrasser d’un Windows qui passe son temps à la faire chier. Et si dans le passé j’avais échoué à supporter sa plateforme de jeu préférée, les choses ont évolué, en bien.

Pour ceux qui ne connaissent pas, Big Fish Games est dont un petit éditeur et distributeur de jeux vidéos, qui sait aussi proposer des jeux gratuits en ligne. On peut le voir très grossièrement comme un mini-steam spécialisé dans les jeux de réflexion et les point&click. Pas mal de petits studios de développements proposent des séries entières basées sur des thèmes particuliers, par exemple les Dark Parables qui revisitent les contes classiques.

L’ancien logo de Big Fish, qui apparaît encore partout 🙂

Mais comme pour la majorité du paysage jeu vidéo sur PC, le « Game Manager » et les jeux qui sont rattachés ne fonctionnent que sous Windows, du moins ils ne sont conçus officiellement que pour lui. Et il y a encore deux ans, c’était une vraie loterie pour que ça fonctionne via Wine. Mais ça, c’était avant.

Depuis, Wine a continué d’évoluer, aussi bien de manière indépendante, que plus récemment avec les multiples contributions de Valve via le projet Proton au cœur de Steamplay, une initiative pour supporter « officiellement » sous Linux des jeux non natifs. Proton lui-même n’est pas directement open-source, mais Valve renvoie une grande majorité des patches à Wine une fois ceux-ci considérés comme suffisamment solides pour être intégrés.

Wine est cependant un projet « générique », et parfois, il faut le paramétrer finement pour qu’un logiciel particulier accepte de se lancer. Il semble que ce soit le cas du launcher et des jeux qui nous intéresse aujourd’hui. Et pour ce genre de situation, certains projets ont émergé pour faciliter l’installation et surtout la configuration de Wine pour un ou plusieurs jeux en particulier. L’un d’eux est PlayOnLinux, qui embarque moult profils déjà prédéfinis, contribués à renfort de tests, pour plusieurs jeux populaires plus ou moins anciens. Mais vous pouvez très bien « partir de zéro » et suivre l’assistant qui vous proposera une certaine quantité de réglages de base. La particularité de PlayOnLinux est de créer des « containers », c’est à dire une arborescence en propre pour chaque logiciel configuré (ici c’est le manager Big Fish, qui lancera tous les autres dans ce même container). Ça permet d’avoir une configuration de compatibilité pour chacun, et même, si c’est nécessaire, une version spécifique de Wine. Pratiquement tous les éléments peuvent être paramétrés après la création du container.

Pour l’installer, rien de plus simple sous Manjaro/Arch :

$ yay -S lib32-libldap playonlinux

Sur d’autres distribs type Ubuntu&co, il faudra peut-être paramétrer un dépôt adapté pour wine, afin d’avoir une version à jour (sous Manjaro à rédaction de ce billet c’est la 4.11). Pourquoi j’ajoute une lib32 dans l’affaire ? Parce qu’elle n’est pas ajoutée en dépendance par playonlinux (qui en ajoute pourtant déjà pas mal, à l’instar de Steam) et que j’ai eu une erreur de lancement à propos d’un « wsldap32.dll.so manquant ». Donc je vous l’indique maintenant, histoire de ne pas perdre vingt minutes comme moi.

Je ne vais pas vous faire de capture d’écran maison parce que PlayOnLinux a un souci avec mon thème sombre sur Cinnamon :/

Pas pratique pour vous montrer quoi cocher

Donc, vous pouvez globalement suivre les instructions de cette vidéo Youtube en anglais. En résumé français :

Reste ensuite à sélectionner le fichier d’installation d’une démo big fish précédemment téléchargé depuis le site, qui entraînera l’installation du manager. Si celui-ci démarre et lance le téléchargement de la démo (souvent le jeu entier, mais bridé jusqu’à validation d’un achat ou preuve d’achat passé via la saisie du compte BigFish), considérez que c’est gagné. Et ça a été mon cas, ça fonctionne du feu de dieu, le seul bémol, c’est qu’on ne peut pas « basculer » d’un jeu en plein écran, il finit en écran noir et il faut le redémarrer 🙂

PlayOnLinux est un projet sous licence GPLv3, vous pouvez donc tout à fait y participer si vous vous sentez de proposer vos propres améliorations (je me pencherais bien sur cette histoire de thème par exemple), proposer vos propres scripts d’installation (j’ajouterais bien Big Fish à la liste de ceux proposés par exemple), aider à la traduction (normalement on dit bibliothèque en français, pas librairie), bref, il n’attend que vous pour servir et grandir, et diffuser la bonne parole du jeu vidéo dans notre univers polaire 😉

Différentes versions de PHP pour Debian

lundi 15 juillet 2019 à 18:30

Un des gros, gros avantages que j’ai découvert en utilisant CentOS chez LinkByNet, c’est le système très avantageux de Software Collections, notamment utilisé par Rémi Collet pour nous gratifier de dépôts extrêmement complets des différentes versions de PHP en circulation (voyez ça comme des PPA sous Ubuntu). Et je pestais à l’époque de ne pas avoir un système similaire sous Debian, jusqu’à récemment.

En effet, toutes les recherches que je faisais aboutissaient presque invariablement à une compilation manuelle à la fois compliquée à maintenir et très consommatrice en temps. Et je déteste les compilations manuelles. J’avais malgré tout fini par tenter d’utiliser phpbrew pour un client à la plateforme vieillissante et trop rigide pour permettre une mise à jour sereine.

Avec la sortie prochaine de CentOS 8, je vais pouvoir tester le remplaçant des SCL, à savoir les Streams, qui promettent un fonctionnement similaire, limite plus intégré, mais je n’ai pas encore creusé le sujet au-delà des annonces presse. Et je me suis une fois de plus tourné vers Debian pour savoir si la situation a évolué.

Il s’avère que cette fois, je suis tombé sur des résultats qui me plaisent beaucoup plus, à savoir qu’un développeur Debian du nom d’Ondřej Surý, qui s’occupe justement des paquets PHP qui sont inclus dans Debian, maintient un dépôt perso pour Debian et Ubuntu contenant les versions récentes de PHP, et qu’il est possible de les installer en parallèle. Oui, l’équivalent donc des dépôts de Rémi pour l’univers Redhat 🙂

Et on est sur le même niveau de sérieux finalement, bien que Rémi soit directement contributeur PHP, ce que ne semble pas être Ondřej, mais je ne comptes pas lui en tenir rigueur étant donné la générosité. Générosité récompensée par certains qui le soutiennent sur Patreon, à hauteur en moyenne de 5 dollars par personne par mois, pas dégueulasse pour un sacré boulot.

Les détails pour l’installation sont disponibles sur ce site (attention, design ultra-minimaliste). À savoir que Jessie, Strech, et la prochaine Buster (qui doit arriver bientôt si ce n’est pas déjà fait à la sortie de ce billet) sont supportées, pour les architectures x86 (32 et 64bit), et ARM (32 et 64bit également), les paquets sources sont évidemment proposés. Et grâce à ce dépôt, on peut installer de PHP 5.6 à 7.3 (même si cette dernière est déjà incluse dans Buster), tout en parallèle, ce qui est bien plus pratique pour gérer des projets historiques au code pas forcément adapté aux versions plus récentes (et je peux vous dire en tant qu’infogéreur que ça arrive très, très souvent, trop souvent pourrait-on dire).

Le seul manque finalement par rapport aux SCL est l’absence de « switch » au runtime. Je m’explique, quand vous avez plusieurs versions de PHP en parallèle, soit vous avez à disposition des alias comme le propose Rémi (php72, php73, etc) pour exécuter PHP en ligne de commande, soit vous allez à chaque fois chercher le chemin du binaire à lancer. Lourd, pas pratique, et des outils comme composer et frameworks comme symfony sont des champions de la feignantise en ne cherchant qu’une unique commande « php », qui parfois n’existe même pas par elles-mêmes si l’on a que des sources SCL pour PHP. Il existe donc une commande pour « créer » cet alias php à la volée :

$ scl enable php72 'php -v'
PHP 7.2.0 (cli) (built: Nov 28 2017 10:27:47) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.2.0, Copyright (c) 1999-2017, by Zend Technologies
with Xdebug v2.6.0alpha1, Copyright (c) 2002-2017, by Derick Rethans

De cette manière, tous les outils de développeurs feignants savent fonctionner dans la version attendue (pratique aussi quand on enchaîne les commandes PHP dans un fichier Makefile).

Donc là sous Debian il faudra encore « bidouiller » un peu pour arriver au même résultat, mais déjà s’affranchir de la compilation manuelle et la possibilité d’avoir plusieurs versions en parallèle facilement est un gros plus. Encore merci Ondřej 🙂

On change le PC de jeu ! (part 2)

vendredi 12 juillet 2019 à 18:30

Pour les petits nouveaux qui viennent d’arriver, je viens de démarrer un projet pour changer de PC de jeu. On a eu le gros des annonces, les disponibilités, les détails sont apparus entre temps, les tests aussi, quelles sont donc les conséquences sur mes prochains choix, mes craintes, mes confirmations ? Si finalement on en est pas encore à l’achat, il est tout de même intéressant de faire le point.

Soucis avec les cartes mères B450 non mises à jour, pas de bootkit pour aider, tarifs hors de prix pour les X570. Les SSD PCI-Express 4 sortent avec des radiateurs de la mort, manifestement le gain de performances se fera avec un gros impact sur la consommation. C’est donc moins pressé que j’envisage ces solutions, ce qui m’arrange car je dois encore surveiller mes finances. Pire, AMD joue la carte de la désactivation pour vanter ses nouvelles plateformes très chères 🙁

Les tarifs sont tenus sur les CPUs, en plus AMD a enfoncé le clou avec un modèle particulièrement furieux pour un tiers du prix de la prestation équivalente chez Intel. Donc définitivement, je vais chez AMD pour le prochain CPU. Mais l’histoire du PCI-E 4 me fait dire que ce n’est peut-être pas aussi nécessaire qu’on le pense, je pourrais donc grandement baisser la facture en démarrant sur du 3.0, à surveiller les bonnes affaires qui devront être très convaincantes pour me faire revenir sur ce point.

Plus mitigé sur les Radeon, finalement, avec les détails qui affluent, la consommation ne semble pas si intéressante malgré la finesse de gravure annoncée. Les premiers tests semblent cependant montrer que les cartes tiennent leurs promesses sur la majorité des plans, bien que ce soit du résultat préliminaire, les testeurs attendaient plus, mais avec les partenaires qui pourront s’approprier les puces et les designs, on risque de voir arriver des modèles très, très intéressants. Reste à voir comment AMD va pouvoir capitaliser sur cette nouvelle architecture, on l’attend toujours pour mettre une raclée à Nvidia sur le haut de gamme, espérons que ça ne fasse pas le même refrain qu’avec la Radeon VII.

Ça n’empêche pas de rager pendant ce temps sur des promos de ouf sur les composants actuels, qui permettraient de gratter une config à vraiment pas cher. Si vraiment nous n’êtes pas aussi exigeant que moi et aussi contraint en termes de budget, c’est une période très intéressante pour rafraîchir une config ou se remonter un rig rapidement qui enverra du lourd.

Début juillet, à l’approche de la disponibilité des Radeon X5700(XT) et des tests indépendants, Nvidia de son côté dégaine un rafraîchissement complet de sa gamme RTX avec les « Super », et le moins qu’on puisse dire, c’est qu’ils veulent occuper l’espace au maximum pour faire de l’ombre, à croire que le caméléon a vraiment peur d’un retour en force de son concurrent, avec un alignement tarifaire très intéressant à constater. Dans le même temps on commence à voir les modèles « anciens » baisser carrément, ce qui continue de provoquer des démangeaisons, mais je tiens bon.

7 juillet : disponibilité officielle, fin des NDA, sortie des tests

C’est après la fin de LeHACK que l’omerta a pris fin. Après une micro nuit de sommeil bien méritée j’ai donc dévoré les tests de Cowcotland, plus intéressés par ceux de la Radeon RX5700XT évidemment, puisqu’on était pratiquement certain avec les fuites que les Ryzen 3000 démontaient du géant bleu au petit déjeuner.

Eh bien je sais une chose : j’attends avec impatience l’arrivée des cartes partenaires en septembre avec de vrais systèmes de refroidissement (et les premières annonces ne tardent pas à tomber). Elles envoient du très lourd déjà par rapport à ce qu’on craignait (avec des chiffres même parfois au dessus des présentations d’AMD y’a un mois), mais le ventirad de ces nouvelles cartes est une honte en 2019 quand on voit ce que fait Nvidia en parallèle. De toute manière le budget n’est pas encore prêt, d’autant qu’il a fallu tacler la sobriété que je voulais appliquer au mois de Juillet à cause d’une décision à la fois géniale et très chiante de Zerator, celui d’organiser la prochaine Trackmania Cup en 2020 à l’AccorHotels Arena, un lieu super mais qui impose d’acheter ses billets tout de suite, sachant que les places Carré Or sont partis en moins de 24h. Et la frangine de rager parce qu’elle a pas de budget, j’ai donc avancé les fonds, en incluant en plus ma mère, qui a fini par accrocher aussi et qui n’a pas perdu une miette sur Twitch de la finale 2019.

Je vais encore suivre quelques tests indépendants (anandtech a fait un joli comparatif qui a fini de me convaincre si c’était encore nécessaire), et surtout surveiller la situation des cartes mères pour le PCI-Express 4, même si on peut envisager de partir sur un Ryzen 2700 en fonction des bonnes affaires, j’ai vraiment envie de construire une plateforme pour le futur, je n’ai donc pas envie de faire l’impasse sur ce point. Les chipsets B550 promettent justement de remplir correctement cet espace plutôt que de tabler sur l’intelligence d’une conception de carte mère B450 conçue pour du PCIE3 qui accepterait les évolutions de fréquence/voltages pour le PCIE4.

Malgré quelques ajustements sur mon tableau initial et quelques évolutions de prix, on est toujours sur une base de 1100€, avec quelques compromis. C’est encore cher, d’où la surveillance active des bonnes affaires et des promotions pour faire baisser ce score peu glorieux. Avec le décalage d’achat je pourrai même profiter du black friday et de ses déstockages de tarés.

Petite contrainte supplémentaire, j’ai décidé de tenter de me passer d’Amazon pour passer mes commandes. Ce qui veut dire à coup sûr qu’il faudra ajouter à la facture moult frais de ports monstrueux étant donné la magie de la Poste, qu’on peut limiter avec les relais colis dont j’ai quelques adresses autour de chez moi. On verra bien u prochain épisode, qui cette fois devrait être consacré aux premiers achats 🙂