Mashup Builder > Migrazione dei mashup legacy > Sostituzione di espressioni non protette in un mashup
Sostituzione di espressioni non protette in un mashup
In Mashup Builder all'interno di funzioni e widget sono supportate le espressioni. Un'espressione è uno snippet di codice JavaScript che restituisce un singolo valore. In genere vengono utilizzate le espressioni per creare una logica aziendale personalizzata in un'applicazione mashup. È possibile scrivere espressioni personalizzate per convalidare, calcolare, convertire e confrontare i dati per i widget, le funzioni e i servizi dati in un mashup. Oltre alle funzioni, vengono utilizzate anche le espressioni per attivare la convalida di input nei widget Griglia.
È stato rilevato un problema di protezione nelle espressioni di mashup che consente a un utente ThingWorx autenticato dotato dei permessi per modificare un mashup di modificare il DOM, oltre alle funzioni widget e mashup e agli oggetti in fase di esecuzione. Questo problema è limitato all'ambiente di esecuzione del mashup e non consente agli utenti di eseguire il codice in remoto sul server di piattaforma. Nell'ambito della correzione della protezione sono state introdotte le sostituzioni per le funzioni correnti nelle versioni 9.3.2, 9.2.7, 9.1.11 e 9.0.16 o versioni successive della piattaforma ThingWorx. Il problema interessa i widget e le funzioni seguenti che supportano le espressioni personalizzate:
Funzione Espressione - Valuta un'espressione e restituisce un valore.
Funzione Convalida - Valuta un'espressione e restituisce un valore booleano true o false.
Griglia (con tema applicabile) - Supporta espressioni per la convalida dell'input.
Widget Griglia avanzata - Supporta le espressioni per la convalida dell'input.
Widget Griglia (legacy) - Supporta le espressioni per la convalida dell'input.
Inoltre, sono interessati anche i seguenti widget legacy nelle versioni non supportate di ThingWorx (8.4 o versioni precedenti):
Widget Espressione
Widget Convalida
* 
I widget Espressione e Convalida sono stati sostituiti da funzioni in ThingWorx 8.4. Per ulteriori informazioni, vedere le Note di rilascio di ThingWorx 8.4.
Per migliorare la protezione, sono stati introdotti i miglioramenti riportati di seguito nelle versioni 9.3.2, 9.2.7, 9.1.11 e 9.0.16 o versioni successive della piattaforma di ThingWorx:
Sono state aggiunte nuove sostituzioni standard più sicure per le funzioni non protette esistenti. Per ridurre al minimo l'impatto sulle applicazioni mashup, è possibile sostituire manualmente le funzioni non protette in un mashup utilizzando il pannello Funzioni.
Si consiglia vivamente di utilizzare la versione standard più recente. Tuttavia, le funzioni non protette esistenti continueranno a funzionare finché non verranno rimosse in una release futura.
È stata eliminata la possibilità di creare funzioni non protette in una nuova entità mashup. Tuttavia, è possibile aggiungere o aggiornare funzioni non protette in mashup esistenti.
È stata aggiunta una proprietà booleana ai widget Griglia, che consente di passare alle convalide protette più recenti.
Le funzioni di convalida e di espressione non protette esistenti sono raggruppate sotto l'etichetta Senza protezione nel pannello Funzioni.
È stato limitato l'accesso alle funzioni e agli oggetti jQuery globali, a TW.Runtime e agli elementi del DOM all'interno delle espressioni utilizzate dalle funzioni di espressione e di convalida, oltre che dalla convalida Griglia. Se si utilizzano le funzioni e gli oggetti della fase di esecuzione ThingWorx nelle espressioni di mashup, potrebbe essere necessario aggiornare e verificare manualmente le espressioni quando si sostituisce una funzione non protetta. Per ulteriori informazioni sulle funzioni e sugli oggetti supportati, vedere Funzioni e oggetti della fase di esecuzione supportati.
* 
Si consiglia vivamente di eseguire l'aggiornamento alle versioni più recenti di ThingWorx, che includono gli aggiornamenti di protezione più recenti, appena siano disponibili.
Versioni interessate di ThingWorx
Questa modifica interessa tutti i mashup che utilizzano espressioni all'interno di funzioni e widget nelle seguenti versioni supportate di ThingWorx:
Versioni di ThingWorx da 9.0.0 a 9.0.15
Versioni di ThingWorx da 9.1.0 a 9.1.10
Versioni di ThingWorx da 9.2.0 a 9.2.6
ThingWorx 9.3.0 e 9.3.1
A partire da ThingWorx versione 9.3.2, 9.2.7, 9.1.11 e 9.0.16 o versioni successive, l'accesso alle funzioni e agli oggetti della fase di esecuzione dei mashup nelle espressioni JavaScript è più limitato. Queste restrizioni sono state aggiunte per migliorare la protezione dell'applicazione e per ridurre potenziali vulnerabilità.
* 
Sono interessate anche le versioni non supportate di ThingWorx che supportano le espressioni personalizzate, ad esempio ThingWorx 8.4.x e 8.5.x. Se attualmente si utilizza una versione non supportata di ThingWorx, si consiglia vivamente di eseguire la migrazione alla versione più recente. L'utilizzo di versioni non supportate del prodotto può esporre a rischi di protezione.
È stato utile?