PROJET AUTOBLOG


Warrior du Dimanche

Site original : Warrior du Dimanche

⇐ retour index

Plinstagram: j'ai trouvé Euréka pis tout ça... Modsecurity

mardi 1 mars 2022 à 14:51
Yesss ! J'ai trouvé   pourquoi  ça bloquait !

Dans Cpanel, il y a une option activée par défaut, c'est le module ModSecurity qui est là précisément pour kéblo les requêtes un peu... comment dire... originales ? exotiques ? Bref, exactement celles que semble faire Plinstagram.

modsecurity.jpg

https://www.webfulcreations.com/how-to-fix-an-appropriate-representation-of-the-requested-resource-could-not-be-found-on-this-server-this-error-was-generated-by-mod_security-error/[/center]

Une fois ce module désactivé, la requête aboutit bien à la page article.php...

Chus trô cônten !  Comment j'a pô  lâché l'affaire
Mais bon, premièrement je suis  cramé et j'ai passé deux jours   là-dessus par pure obstination.
Et deuxièmement, je ne suis  pas persuadé qu'il soit très   malin de laisser désactivé un   module d'Apache qui protège le   serveur des requêtes malignes...

Bref: pain.jpeg



<link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires

Mardi 1 Mars 2022: Plinstagram, c'est toujours pas ça...

mardi 1 mars 2022 à 10:40

Précédemment sur le Warriordudimanche: https://warriordudimanche.net/index.php?article1636/ya-pas-que-les-voitures-qui-sont-allergiques-vanille-php-aussi-fait-trucs-passionnants-help

Bon, je bosse dessus parce que je suis entêté et que j'aime bien comprendre mais là... j'ai du mal.

Ce que j'ai fait

Côté frontend

côté backend

Je sais, on a l'impression que c'est toujours la même image mais en fait non... c'est sans doute dû au fait que base64 est très verbeux et que le début est toujours le même pour des images.

Le tout fait un post d'environ 4.5 Mo ce qui n'est pas choquant dans un formulaire multipart/form-data et reste très en dessous des limites de PHP_INI sur le serveur.

Aucun fichier .htaccess ne vient non plus foutre le bran...

HELP

Encore une fois, ça marche impeccable en local.

J'ai commenté au max mon code pour le cas où quelqu'un se sent de regarder, parce que pour ma part, je commence à voir flou et à avoir des hallucinations... je vous mets un zip: http://warriordudimanche.net/vrac/Plinstagram.zip

<link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires

Ya pas que les voitures qui sont allergiques à la vanille... PHP aussi fait des trucs passionnants. HELP

lundi 28 février 2022 à 17:10

(wink @Sebsauvage : https://sebsauvage.net/links/?-WagqA )

Bon, accrochez-vous les lacets,   mettez du collyre, prenez un   Xanax, parce que là,   j'ai besoin de parler.

Je me suis aperçu que mon plugin Plinstagram faisait des trucs étranges et refusait parfois de poster. Pensant à une erreur d'identification, j'ai repris le code mais rien n'y faisait.

J'ai commencé à avoir des problèmes de redirection incompréhensibles: le header("location") ne fonctionnait pas (voir https://warriordudimanche.net/article1635/1635 )

Une fois la ruse très moche appliquée, ça semblait revenu à la normale. Puis j'ai décidé d'aller marcher un peu et j'ai pris des photos dans l'idée de tester à nouveau Plinstagram.

Et là, c'est le drame

J'ai beau tout essayer, pas moyen d'envoyer le post avec les photos... mais curieusement, j'aboutis à une erreur 404 et pas à une erreur d'exécution. Je me dis que ça doit être un problème de taille de formulaire et je me rappelle que, comme un con, j'ai omis de virer l'input files du formulaire avant envoi. J'explique rapidement comment fonctionne Plinstagram:

Côté JS

1 - l'utilisateur sélectionne des photos sur son ordinateur

2 - pour chaque image, le script js se charge de:

Ainsi on obtient un $_POST[data] et un $_POST[filename] qui contiennent chacun un tableau avec les données de chaque image pour l'un et le nom de chaque image pour l'autre.

Quand on poste, le script vire l'input file pour éviter l'upload de grosses photos.

Côté PHP

Vient ensuite le hook AdminArticlePrepend de la page core/admin/article.php vers laquelle pointe le formulaire de plinstagram: celui-ci se charge de :

1 - parcourir l'array des images redimensionnées postées en base64,

2 - récupérer le nom de chaque image

3 - sauvegarder localement chaque image dans un sous-dossier dédié à l'article

4 - générer une galerie qu'il ajoute au corps du post

5 - finaliser la création des données de l'article.

À ce moment-là pluXML reprend la main et s'occupe du stockage de ces données.

Quand je teste en distant (sur WDD)

Avec une photo, tout se passe normalement. Si j'en mets ne serait-ce que deux, pluXML me renvoie à la page 404, comme si l'URL était fausse: or, il n'en est rien ! L'URL de la barre d'adresse est la bonne, celle du formulaire aussi... pourtant, avec plus d'une photo, la requête n'arrive jamais à core/admin/article.php

Pire, une fois sur la page 404, si je clique dans la barre d'adresse puis que j'appuie sur entrée, j'arrive sans encombre à la page voulue (mais sans les données de formulaire bien entendu): l'URL est donc bonne.

J'ai pensé à une redirection foireuse mais la seule redirection qui reste est celle qui se fait AVANT le formulaire et seulement dans le cas où l'utilisateur n'est pas connecté.

Et puis ça ne semble pas être la faute de mon script PHP vu qu'on n'arrive même pas jusqu'à lui (j'ai collé des exit('moncul'); partout pour voir et rien !)

Quand je teste en local... ô surprise!

TOUT FONCTIONNE SANS PROBLEME ! (le fameux «ça marche sur mon ordi»)

Pour résumer

index.jpeg

Conclusion

J'en suis à me dire qu'il doit y avoir un genre de restriction pour la taille des données contenues dans des inputs et que cette restriction ne doit pas être la même en local.

Une autre piste que je dois explorer est une éventuelle incompatibilité entre deux plugins... Mais je vois pas lesquels et pis là, faut que j'aille pleurer d'abord.

EDIT dix minutes plus tard:

Tiens, la différence entre le local et le distant, c'est la configuration du rewrite URL dans pluXML: activée en distant. Je mets sur OFF et là, j'obtiens une erreur 406:

Not Acceptable: An appropriate representation of the requested resource could not be found on this server.

ça progresse. Je retourne pleurer.

Cette conférence sur le thème de   la loose en programmation et la   remise en question de mes   passions, compétences et priorités   générales dans la vie est à présent   terminée... Vous pouvez disposer.
<link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires

Le "POUUUURKOOOOOOAAAA" du jour

lundi 28 février 2022 à 09:27

Quand

Mais que

Ben tu ponds une horreur, un patch façon pelle de chantier.

Tu colmates au lieu de résoudre.

Parce que tu comprends pas.

Tu as honte.

Tu te refais un café.

Tu postes ton désarroi.

<link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires

J-58 - YouTube

dimanche 27 février 2022 à 16:32

Bon, celle-là est magnifique aussi ! Macron et les candidats VS un mec qui chasse les ours torse nu... 'tain, je suis mort de rire. Jaune, hein, mais mort de rire quand même...

<link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires