wat doet WinJS.strictProcessing () doen?

wat doet WinJS.strictProcessing() doen?

MSDN's explanation is not very helpful - http://msdn.microsoft.com/en-us/library/windows/apps/hh987021.aspx

0
ja ru de

1 antwoord

Het schakelt een beveiligingsfunctie in. Het scenario is dit:

  1. App downloadt HTML van internet (bijvoorbeeld via XHR) die data-win-controle, data-win-opties of data-win-bind attributen bevat
  2. De HTML wordt toegevoegd aan de DOM
  3. WinJS.UI.processAll of WinJS.Binding.processAll wordt aangeroepen op die HTML
  4. De data-win- * attributen specificeren functies die in de val gelopen worden om eval te roepen (of iets dat even slecht is)
  5. De app van de gebruiker is eigendom

Wanneer de strictProcessing-modus is ingeschakeld, kunnen alleen functies die expliciet zijn gemarkeerd als veilig voor declaratieve verwerking worden aangeroepen vanuit de opmaak. Dit verkleint het oppervlak van functies die aanzienlijk kunnen worden aangeroepen, en vermindert de delen van uw app die moeten worden beoordeeld voor beveiliging.

Het belangrijkste is dat geen van de WinRT- of de eval-functie zo is gemarkeerd, dus je kunt geen gedownloade HTML downloaden om de WinRT rechtstreeks te bellen (voorheen zou dat kunnen).

Deze modus is standaard niet ingeschakeld in RC om app-ontwikkelaars de tijd te geven hun code aan te passen voordat ze worden verbroken, maar dit gedrag is waarschijnlijk standaard ingeschakeld in RTM.

2
toegevoegd
Als de schadelijke code al in je app-pakket zit, ben je toch al in de ban geraakt. Dat is goed, want de enige manier waarop het daar is, is door het daar te plaatsen toen je het pakket bouwde. Dit gaat over het voorkomen dat gedownloade inhoud, die je niet in het pakket hebt gestopt, willekeurige code uitvoert.
toegevoegd de auteur Chris Tavares, de bron
als alleen MSDN zo duidelijk en bondig was als jouw antwoord ... bedankt! :) +1
toegevoegd de auteur Elad Katz, de bron
En wat voorkomt dat schadelijke code myEvilFunction.supportedForProcessing = true; opgeeft?
toegevoegd de auteur bugventure, de bron