[Sécurité] Widget

Bonjour à tous,

Petite question sécurité aujourd’hui :slight_smile:
Pensez-vous qu’il y ait un risque potentiel à utiliser un replace du username et du password du compte configuré ds mon plugin dans mon toHtml ?
Je vais en effet en avoir besoin pour une requête ajax !

Merci d’avance,

Xav

Salut,

Tu veux faire ta requête depuis le browser vers le site distant?
Pourquoi tu ne passes pas par le backend (ton code php)?

Sinon en soit c’est une info que l’utilisateur connait déjà probablement (attention qu’il pourrait y avoir des profils non-admin sur jeedom qui n’ont en théorie pas accès à la config du plugin…) et est déjà disponible sur coté client dans la config de ton plugin à priori donc pas un grand risque (hormis de divulguer le password à un utilisateur jeedom qui ne devrait pas l’avoir car il n’est pas admin) mais malgré tout je dirais d’éviter de faire ca

En fait il s’agit pour moi d’appeler une fonction de ma class après que l’utilisateur ait rempli des champs dans une modale.
Dans mon widget, je ne peux donc pas appeler ma fonction directement comme pour la plupart des actions avec un jeedom.cmd.execute()

Je voulais dans un premier temps le faire directement dans ma modale puisque je passe en paramètre l’id de mon équipement. Je pouvais donc lancer ma commande en php sans problème.

Mais mon appel à ma modale et au bouton « envoyer » se fait depuis mon widget avec le code suivant :

('.cmd[data-cmd_id=#sendPOI_id#]').on('click', function () {
							$('body').append('<div id="mod_sendPOI" style="overflow-x: hidden; overflow-y: hidden;"/>');
							$("#mod_sendPOI").dialog({
									title: "Envoi POI",
									closeText: '',
									autoOpen: false,
									modal: true,
									height:220,
									width:445
							});
							jQuery.ajaxSetup({async: false});
							$('#mod_sendPOI').load('index.php?v=d&plugin=myBMW&modal=SendPOI.myBMW&eqLogic_id='+'#id#');
							jQuery.ajaxSetup({async: true});
							
							$('#mod_sendPOI').dialog('option', 'buttons', {
									"Envoyer": function () {
										var nameInput=$("#mod_sendPOI").find('input[name="name"]').val();
										var latInput=$("#mod_sendPOI").find('input[name="lat"]').val();
										var longInput=$("#mod_sendPOI").find('input[name="long"]').val();
										
                                        $.ajax({	...   })

									}
							});
	                        $('#mod_sendPOI').dialog('open');													
						});

Et du coup je fais une requête ajax mais avec le besoin d’avoir le username et password.

L’autre solution serait peut-être de gérer mon bouton dans ma modale directement et d’appeler ma fonction depuis mon eqLogic directement. Resterait à fermer la modale depuis ce bouton.

Qu’en penses tu ?

Je pense qu’on est dans un problème XY :wink:

2 « J'aime »

Pas tout compris;

le user/password ils sont entrés sur cette modale ou tu les a déjà dans la config de l’équipement (ou du plugin?)

Si déjà dans la config alors ta modale peut envoyer l’id de l’équipement et ton code php va récupérer la config; c’est p-e ce que tu dis ici:

carrément :slight_smile:

:smiley: :smiley:

oui c’est tout à fait ca ! Et j’étais parti la dessus dans un premier temps mais je butais pour fermer ma modale. D’où mon changement de stratégie pas forcément intelligent :stuck_out_tongue:

Bon ben je m’en suis sorti grâce à @nebz pour fermer cette fichue modale :slight_smile: Je hais le jQuery :angry:
Du coup plus besoin de passer le user et password via un replace dans mon widget puisque ma requête AJAX est maintenant directement dans mon fichier php ! Mais je note qd même d’éviter ca !

Merci @Mips

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.