2016-06-29 78 views
9

Sto affrontando il problema "MyViewcontroller che utilizza un argomento NUR baseURL con il metodo baseURL loadHTMLString: teorema dei dati" - Ho completato correttamente il mio compito e tutto funziona correttamente .viewcontroller che utilizza un argomento NUR baseURL con il metodo loadHTMLString baseURL: teorema dei dati

Il problema era nella scansione di sicurezza OSWAP per la vulnerabilità mostra l'errore precedente.

Codice mio frammento di: -

NSString *aHtmlString = kEmptyString; 

    // Getting the bool from configuration plist 
    NSString *thePlistPath = [[NSBundle mainBundle] pathForResource:@"config" ofType:@"plist"]; 
    NSDictionary *theURLdata = [[NSDictionary alloc] initWithContentsOfFile:thePlistPath]; 
    is 

ServerFAQAvailable = [[theURLdata valueForKey:kIsServerFAQAvailableKey] boolValue]; 

if (one || two || three) { 
    aHtmlString = [self loadFAQFor]; 
} else { 
    aHtmlString = [self loadFAQForwithout]; 
} 
NSURL *baseURL = [NSURL fileURLWithPath:thePlistPath]; 

[self.faqWebView loadHTMLString:aHtmlString baseURL:baseURL]; 

Aggiornamento:

if (one || two || three) { 
     aHtmlString = [self loadFAQFor]; 
    } else { 
     aHtmlString = [self loadFAQForwithout]; 
    } 
    NSURL *baseURL = [NSURL fileURLWithPath:@"about:blank"]; 

    [self.faqWebView loadHTMLString:aHtmlString baseURL:baseURL]; 

mostra ancora mi questione scansione

+0

Vorrei iniziare accedendo i valori di 'thePlistPath' (e forse' theURLdata'), e verificando che in realtà hai un file nella posizione indicata da 'thePlistPath'. Se non lo fai, allora '[NSURL fileURLWithPath: thePlistPath];' probabilmente restituirà nil e anche 'theURLdata' sarà probabilmente nullo. – fullofsquirrels

+0

cosa sono 'ee',' y'' e 'ii'? per favore usa nomi di variabili chiari, anche quali sono i valori di 'kConfigurationPlistName' e' kPlistFormType'? questo imposta il valore di 'thePlistPath' correttamente o è Nil? –

+0

@ MostafaTorbjørnBerg hi che è le variabili basate sulla condizione nel file loadFAQFor all'esterno di sto costruendo il file html .js e .css – Spynet

risposta

5

Il problema è il parametro baseURL:. BaseURL non è necessario per una stringa html, in genere viene utilizzato per i collegamenti relativi. Se tutto quello che stai cercando di fare è mostrare qualche html, sei sicuro di averne bisogno?

Il problema di sicurezza contrassegnato ha senso (la mia comprensione, approssimativamente): se un URL di base di una webview è impostato sul file system locale, quindi una pagina caricata (eventualmente) attraverso tale webview potrebbe accedere alle risorse locali.

Provare a passare nil per baseURL: dovrebbe disattivare questo avviso.

+0

Un url correlato significa Che cosa? Potresti fornire i dettagli – Spynet

+0

Percorso relativo nel senso? ..., anche questo è relativo percorso [NSURL fileURLWithPath: @ "about: blank"] – Spynet

+0

hai qualche suggerimento su come dare il relativo percorso – Spynet

1

baseURL dovrebbero essere [[NSBunld mainBunld] bunldPath], si può provare in questo modo ..

NSString *path = [[NSBundle mainBundle]bundlePath]; 
NSString *htmlPath = [[NSBundle mainBundle] pathForResource:self.htmlName ofType:@"html"]; 
NSString *htmlContent = [NSString stringWithContentsOfFile:htmlPath encoding:NSUTF8StringEncoding error:nil]; 
[self.webView loadHTMLString:htmlContent baseURL:[NSURL fileURLWithPath:path]]; 
+0

no esporre problema di sicurezza – Spynet

+0

Infine ho trovato la risposta giusta è [NSURL URLWithString: @ "about: blank"], Grazie a per l'aiuto – Spynet

Problemi correlati