Closed Nono-m0le closed 3 years ago
Effectivement, le site filtre par user-agent... Voici la page retournée :
Access Denied
You don't have permission to access "http://www.vmware.com/security/advisories.xml" on this server.
Reference #...
ce qui donne la même erreur Fatal Error XML
.
Ça fonctionne si je change le user-agent je n'ai plus l'erreur.
Une solution (sous forme de paramètres ou plugin) pour faire marcher ça dans kriss feed?
Je n'ai pas le temps de tester mais j'imagine dans un fichier useragent.php dans le dossier plugins
<?php
MyTool::$opts = array(
'http' => array(
'timeout' => 4,
'user_agent' => 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0',
)
);
?>
pour l'instant je n'ai "que" ca dans le dossier plugins :
sessions.php:
<?php
ini_set("session.gc_maxlifetime", '86400');
ini_set('session.save_path', $_SERVER['DOCUMENT_ROOT'].'/sessions');
timeout.php:
<?php
MyTool::$opts['http']['timeout'] = '10';
Ce qui m'affiche un joli array(0) { }
quand je vais sur https://kriss/?plugins
rajouter un fichier useragent.php (avec le ?> ou sans) ne change pas la donne ...
Ça fonctionne chez moi avec le code que j'ai donné avant. Pour ne pas écraser timeout, dans un useragent.php avec :
<?php
MyTool::$opts['http']['user_agent'] = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0';
Ça fonctionne aussi, je pense qu'il y a peut-être un autre filtre sur l'IP par exemple qui fait que ça te bloque (hébergement mutualisé ?).
Je suis sur un dédié, mais je me demande si c'est pas un problème général vu learray(0) { }
quand je vais sur https://kriss/?plugins (sans rien ajouter)
Ce lien n'est pas vraiment actif : https://github.com/tontof/kriss_feed/blob/master/index.php#L3535 C'était un début de configuration de plugins que je n'ai pas terminé. J'ai la même chose de mon côté et ça fonctionne bien. Essaye de faire un wget directement dans un terminal pour voir si tu récupères bien le flux RSS ?
Ah ben non :/
wget https://www.vmware.com/security/advisories.xml
--2021-05-21 14:00:34-- https://www.vmware.com/security/advisories.xml
Resolving www.vmware.com (www.vmware.com)... 2a02:26f0:2b00:398::2ef, 2a02:26f0:2b00
:3ba::2ef, 2.21.16.28
Connecting to www.vmware.com (www.vmware.com)|2a02:26f0:2b00:398::2ef|:443... connec
ted.
HTTP request sent, awaiting response... 403 Forbidden
2021-05-21 14:00:34 ERROR 403: Forbidden.
Ça ne me surprend pas vraiment, après il faudrait peut-être utiliser un user-agent avec wget pour être sûr parce que là c'est peut-être juste leur premier filtre qui bloque.
Bon, je reviens dessus car ca m'embête toujours encore.
un
wget --user-agent=Mozilla https://www.vmware.com/security/advisories.xml
fonctionne, mais pas avec mon useragent.php :
<?php
MyTool::$opts['http']['user_agent'] = 'Mozilla';
Me donne : Fatal Error XML 77: Fatal Error XML 77: Premature end of data in tag HTML line 1
Tu peux essayer avec curl ? De mon côté ça fonctionne avec wget mais pas curl... Je ne sais pas comment c'est possible de détecter si c'est curl ou wget mais comme avec php ça utilise curl, il faudrait comprendre pourquoi ça fait ça. J'ai le même problème avec un script pour le bon coin. Je ne sais pas comment ils font pour différencier l'appel d'un navigateur ou d'une ligne de commande
curl -v -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en' -H 'Connection: Keep-Alive' https://www.vmware.com/security/advisories.xml -o advisories.xml.gz
fonctionne
Parfait, c'est juste le header Connection qu'il faut ajouter
Ça fonctionne de mon côté. Si tu utilises le dernier index.php
https://raw.githubusercontent.com/tontof/kriss_feed/master/src/index.php
Tu crées un fichier connection.php
dans plugins
<?php
MyTool::$opts['http']['headers'][] = 'Connection: Keep-Alive';
Ça devrait fonctionner (il faut aussi le fichier useragent)
j'ai toujours un Fatal Error XML 77: Fatal Error XML 77: Premature end of data in tag HTML line 1 avec:
/rss/plugins# grep -r "" *
connection.php:<?php
connection.php:MyTool::$opts['http']['headers'][] = 'Connection: Keep-Alive';
sessions.php:<?php
sessions.php:ini_set("session.gc_maxlifetime", '86400');
sessions.php:ini_set('session.save_path', $_SERVER['DOCUMENT_ROOT'].'/sessions');
timeout.php:<?php
timeout.php:MyTool::$opts['http']['timeout'] = '10';
useragent.php:<?php
useragent.php://MyTool::$opts['http']['user_agent'] = 'Mozilla';
useragent.php:MyTool::$opts['http']['user_agent'] = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15';
rss# sha256sum index.php
9ea31a97ccc42f30156a69b9338ab741ced203c18504b5a3fb762c1eb4db4bde index.php
Bizarre, de mon côté j'ai :
$ grep -r "" *
headers.php:<?php
headers.php:MyTool::$opts['http']['headers'][] = 'Connection: Keep-Alive';
timeout.php:<?php
timeout.php:MyTool::$opts['http']['timeout'] = 10;
useragent.php:<?php
useragent.php:MyTool::$opts['http']['user_agent'] = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0';
$ sha256sum index.php
9ea31a97ccc42f30156a69b9338ab741ced203c18504b5a3fb762c1eb4db4bde index.php
En gros je n'ai pas les sesssions... et mon timeout est entier, ce n'est pas une chaine de caractères...
Il n'y a pas de cache ou justement de sessions à supprimer hein ?
Non je ne pense pas. C'est vraiment bizarre si ça marche en ligne de commande à partir du même serveur, je ne vois pas ce qui pourrait changer.
Essaye en ajoutant
MyTool::$opts['http']['headers'][] = 'Accept-Language: en';
Et si ça marche pas :
MyTool::$opts['http']['headers'][] = 'Accept-Language: en';
MyTool::$opts['http']['headers'][] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
yes, ca marche :) Merci
\o/
J'ai l'erreur suivante lorsque j'essaye de rajouter ce flux: https://www.vmware.com/security/advisories.xml
Fatal Error XML 77: Fatal Error XML 77: Premature end of data in tag HTML line 1