Friday, September 24, 2010

AllowUnsafeUpdates

Mannaggia, più di una volta ho settato a true questa proprietà della SPSite e più di una volta mi domandavo perchè è false di default!!!
Vedo di farla il più breve possibile.
Settarla a true può essere male tenerla a false è sempre un bene Open-mouthed smile
Questa proprietà serve a proteggere il vostro portale da eventuali attacchi cross-site scripting
Quindi la motivazione è più che valida e ciò avviene quando proviamo a fare un aggiornamento di un web o di una lista durante il carimento di una pagina invece che durante un postback; e può essere moooolto rischioso.
Ipotizziamo di fare una pagina deleteLastItems.aspx dove passiamo una chiave del tipo HowManyItemsToDelete; ora se AllowUnsafeUpdates è a true chinque potrà chiamare la pagina e gli items verranno cancellati (pensate se il motore di search inizia a fare crawling cosa accadrebbe)
Al 95% dei casi, per evitare l’errore senza settare la proprietà a true, basterà usare un controllo form digest security:
<asp:ContentPlaceHolder id="PlaceHolderFormDigest" runat="server">

    <SharePoint:FormDigest runat=server/>

asp:ContentPlaceHolder>


per approfondire l'argomento:
http://community.bamboosolutions.com/blogs/bambooteamblog/archive/2008/05/15/when-allowunsafeupdates-doesn-t-work.aspx
http://hristopavlov.wordpress.com/2008/05/16/what-you-need-to-know-about-allowunsafeupdates/
Se avete altre informazioni che non ho ancora trovato fatemi sapere Smile
grazie

No comments:

Post a Comment