Problema

Come posso impedire la trasformazione dannosa dei miei URL e impedire il download di immagini ad alta risoluzione?

Soluzione

Se sei preoccupato per la manomissione degli URL o per il download di immagini ad alta risoluzione, procedi come segue:

Norme di configurazione per modificare la sintassi dell'URL

Utilizza un set di regole configurato sul server per modificare la sintassi degli URL dei client. Gli URL possono utilizzare un formato meno ovvio come richiesta dinamica con parametri che possono essere modificati.

In sostanza, se una chiamata di immagine può essere cambiata dalla tipica sintassi di Scene7 Image Server che si presenta in questo modo:

http:///is/image//?

a qualcosa che sembra piu' statico come questo:

http:///is/image///.jpg

È meno ovvio che ci siano parametri che possono essere modificati nella richiesta URL per cambiare la risposta. Infatti, dovrebbe essere possibile configurare un set di regole in modo che ogni richiesta che non passa attraverso questo formato o meccanismo venga respinta.

Offuscamento URL

Il contenuto dell'intera parte dei modificatori della stringa di richiesta, incluso il suffisso di blocco opzionale può essere oscurato applicando la codifica standard base64. Il server tenta di decodificare se attribute::RequestObfuscation è impostato. Se la decodifica è impossibile, la richiesta viene respinta. Se vengono applicati sia il blocco della richiesta che l'offuscamento della richiesta, il suffisso di blocco deve essere generato e aggiunto prima della codifica base64.

Esempio: http://server/myTemplate?$txt=my text string&$img=myImage

codifica in:

http://server/myTemplate?dHh0PW15IHRleHQgc3RyaW5nJiRpbWc9bXlJbWFnZQ==

Per generare questa codifica, puoi utilizzare un sito web come il seguente: http://www.base64encode.org/

Tutte le occorrenze di ‘=’, ‘&’, e '%' nelle stringhe di valori devono essere evitate usando la codifica '%xx', prima che la richiesta sia offuscata. Non è necessario altrimenti codificare in http i modificatori parte della richiesta prima o dopo l'offuscamento, anche se il blocco della richiesta è applicato, poiché la codifica base64 è sicura per la trasmissione http.

http://microsite.omniture.com/t2/help/en_US/s7/is_ir_api/index.html#Request_Obfuscation

III. Blocco richiesta

Per ridurre le possibilità di manomissione delle richieste, è previsto un semplice sistema di blocco.

Se attribute::RequestLock è impostato, alla richiesta deve essere aggiunto un valore di blocco, sotto forma di &xxxxxx, con xxxx come valore esadecimale a quattro cifre. Questo valore esadecimale è generato utilizzando un semplice algoritmo hash applicato alla porzione di modificatori della richiesta (dopo '?' che separa il percorso URL dai modificatori). Questo deve essere fatto dopo che la richiesta è completamente codificata in http, ma prima che sia (facoltativamente) offuscata. Dopo aver de-offuscato la richiesta, il server utilizzerà lo stesso algoritmo hash sulla stringa del modificatore (esclusi gli ultimi 5 caratteri, che contengono il valore di blocco). Se la chiave generata non corrisponde al blocco, la richiesta viene respinta.

http://microsite.omniture.com/t2/help/en_US/s7/is_ir_api/index.html#Request_Locking

Questo prodotto è concesso in licenza in base alla licenza di Attribuzione-Non commerciale-Condividi allo stesso modo 3.0 Unported di Creative Commons.  I post su Twitter™ e Facebook non sono coperti dai termini di Creative Commons.

Note legali   |   Informativa sulla privacy online