Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

Le plugin Script n'aime pas les apostrophes

Réservé à l'utilisation et la programmation de scripts dans JEEDOM
Répondre
Avatar de l’utilisateur
Jeandhom
Actif
Messages : 1386
Inscription : 20 oct. 2015, 17:32

Le plugin Script n'aime pas les apostrophes

Message par Jeandhom » 18 oct. 2018, 15:25

Bonjour,

Pour mes commandes de type Action/Message, les apostrophes saisies dans #message# disparaissent avant que #message# ne soit traité par mon script.

Est-ce un bug du plugin ?

Avatar de l’utilisateur
loic
Administrateur
Messages : 14862
Inscription : 01 févr. 2014, 16:21

Re: Le plugin Script n'aime pas les apostrophes

Message par loic » 18 oct. 2018, 15:26

Bonjour,
Non c'est voulu il n'y a malheureusement pas vraiment de solution, peut etre en changeant les " par des ' ou l'inverse.
Aide nous à t'aider : mets des logs, détaille ton soucis... Vous n'aurez aucune réponse de ma part si votre demande n'est pas détaillée (log, capture d'écran lisible...) ou si vous ne postez pas dans la bonne section

Avatar de l’utilisateur
Jeandhom
Actif
Messages : 1386
Inscription : 20 oct. 2015, 17:32

Re: Le plugin Script n'aime pas les apostrophes

Message par Jeandhom » 18 oct. 2018, 15:33

C'est plutôt pour les '.

Si je mets dans Message : c'est beau, mon script va recevoir cest beau.
Il faut que je fasse le test ce soir, mais il semble que dans une commande curl, l'on puisse remplacer ' par %27, soit c%27 beau.

NB : merci pour cette réponse plus rapide que l'éclair.

Avatar de l’utilisateur
Jeandhom
Actif
Messages : 1386
Inscription : 20 oct. 2015, 17:32

Re: Le plugin Script n'aime pas les apostrophes

Message par Jeandhom » 19 oct. 2018, 15:22

loic a écrit :
18 oct. 2018, 15:26
Non c'est voulu il n'y a malheureusement pas vraiment de solution ...
C'est bizarre, car il n'y a pas ce problème dans le plugin Virtuel, les apostrophes sont bien passées à #message# par les commandes de type Action/Message.

Le traitement devrait être le même dans ces deux plugins.

Avatar de l’utilisateur
loic
Administrateur
Messages : 14862
Inscription : 01 févr. 2014, 16:21

Re: Le plugin Script n'aime pas les apostrophes

Message par loic » 19 oct. 2018, 15:35

Bonjour,
Je ne vois pas pourquoi les 2 plugins ne font pas du tout la meme chose....
Aide nous à t'aider : mets des logs, détaille ton soucis... Vous n'aurez aucune réponse de ma part si votre demande n'est pas détaillée (log, capture d'écran lisible...) ou si vous ne postez pas dans la bonne section

Avatar de l’utilisateur
kiboost
Actif
Messages : 1433
Inscription : 19 déc. 2017, 15:02
Localisation : France, Bretagne

Re: Le plugin Script n'aime pas les apostrophes

Message par kiboost » 30 nov. 2018, 14:14

Pas de solution du coup ? Un antislashe d'échappement ne fonctionne pas non plus. C'est plutôt gênant pour faire du TTS par exemple ...

Pour l"instant je fais:

message : c\*est parti

$message = $_GET['message'];
$message = str_replace('\*', "'", $message);

çà fonctionne mais c\*est bof :lol:

Prod : Jeedom Stable sur Smart | Z-wave
Synology DS1512+|Rpis Kodi|Netatmo|SNIPS-Tips|Market
JeedomV4Tips

Avatar de l’utilisateur
kiboost
Actif
Messages : 1433
Inscription : 19 déc. 2017, 15:02
Localisation : France, Bretagne

Re: Le plugin Script n'aime pas les apostrophes

Message par kiboost » 30 nov. 2018, 14:29

ok, plugin script, core/class, ligne 260:

Code : Tout sélectionner

		$replace = array(
			'\'' => '',
			'#eqLogic_id#' => $this->getEqLogic_id(),
			'#cmd_id#' => $this->getId(),
		);
Si on vire le replace de l'apostrophe, çà marche, j'ai bien mes phrases tts comme il faut.

Sauf que si c'est là, ce n'est pas pour rien. Loic, peux tu nous dire ce qui risque d'exploser ? Voir si on peux trouver un palliatif.

Prod : Jeedom Stable sur Smart | Z-wave
Synology DS1512+|Rpis Kodi|Netatmo|SNIPS-Tips|Market
JeedomV4Tips

Avatar de l’utilisateur
loic
Administrateur
Messages : 14862
Inscription : 01 févr. 2014, 16:21

Re: Le plugin Script n'aime pas les apostrophes

Message par loic » 30 nov. 2018, 14:46

C'est pour eviter un type d'injection possible de code
Aide nous à t'aider : mets des logs, détaille ton soucis... Vous n'aurez aucune réponse de ma part si votre demande n'est pas détaillée (log, capture d'écran lisible...) ou si vous ne postez pas dans la bonne section

Avatar de l’utilisateur
kiboost
Actif
Messages : 1433
Inscription : 19 déc. 2017, 15:02
Localisation : France, Bretagne

Re: Le plugin Script n'aime pas les apostrophes

Message par kiboost » 30 nov. 2018, 15:13

Arg ok je vois. Même si le risque est faible, faut faire un exec() derrière ?

Je vais garder mon string replace alors.

Prod : Jeedom Stable sur Smart | Z-wave
Synology DS1512+|Rpis Kodi|Netatmo|SNIPS-Tips|Market
JeedomV4Tips

nordix
Actif
Messages : 858
Inscription : 02 déc. 2014, 13:29

Re: Le plugin Script n'aime pas les apostrophes

Message par nordix » 27 janv. 2019, 17:35

Donc si je comprends bien, si des apostrophes " ' " sont requises dans des commandes de type script, un curl par exemple, il faut tout passer dans un script en php par exemple.

Je suppose que les exploits par injection c'est valable uniquement si on expose nos box sur Internet?

Répondre

Revenir vers « [Plugin officiel] Scripts »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invités