Réaliser un WifInfo

Bonsoir, c’est peut-être contre productif par rapport au travail fait par l’équipe Jeedom qui s’efforce de rendre la sécurisation optimale mais au cas ou , il est toujours possible de générer une clé api de 32 octets en utilisant un bloc code dans un scénario :

$data_plugin = 'teleinfo'; // nom du plugin ou core
$format = 32; // 32 ou 64, utilisé que si $injection n'est pas renseignée.
$injection = ''; // a remplir que si vous voulez injecter une clé perso [32 ou 64 octets]
//////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////// NE PAS MODIFIER /////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////
$scenario->setLog('┌───────────────────[ Regeneration cle API ]');										//
$version = jeedom::version();																			//
if ($version >= '4.2') {																				//
  if (class_exists($data_plugin) || $data_plugin == 'core') {											//
    $scenario->setLog('| [Info] Type --> '.$data_plugin);												//
    $OldKey = config::byKey('api', $_plugin = $data_plugin);											//
    if ($OldKey!='') $scenario->setLog('| [Info] Ancienne clé api --> '.$OldKey);						//
    if ($injection!='' && (strlen($injection)==32 || strlen($injection)==64))							//
    {																									//
      $NewsKey = $injection;																			//
      $format = strlen($injection);																		//
      $scenario->setLog('| [Info] Méthode --> Injection clé perso');									//
    }																									//
    else																								//
    {																									//
      $NewsKey = config::genKey($_car=$format);															//
      $scenario->setLog('| [Info] Méthode --> Random');													//
    }																									//
    $save_key = config::save('api', $NewsKey, $data_plugin);											//
    $VerifKey = config::byKey('api', $_plugin = $data_plugin);											//
    $scenario->setLog('| [Info] Format --> '. $format . ' octets');										//
    if ($VerifKey == $NewsKey) {																		//
      $scenario->setLog('| [Info] Nouvelle clé API --> '. $NewsKey);									//
      $scenario->setLog('| [OK] Clé Api sauvegardé avec succès');										//
    }																									//
    else $scenario->setLog('| [Erreur] l\'enregistrement de la nouvelle clé a échoué !!!');				//
  }																										//
  else $scenario->setLog('| [Erreur] Veuillez activer/verifier le nom du plugin !!!');					//
}																										//
else $scenario->setLog('| [Erreur] Version de Jeedom insuffisante '. $version .' < 4.2');				//
$scenario->setLog('└────────────────────────────');														//
//////////////////////////////////////////////////////////////////////////////////////////////////////////
1 « J'aime »