Files
react-native-webview/example/examples/NativeWebpage.tsx
T
Lorenzo Sciandra 194c6a2335 feat(android): Introduce setSupportMultipleWindows to mitigate CVE-2020-6506 (#1747 by @mrcoinbase and @kelset -- THANK YOU!)
BREAKING CHANGE:

This release introduces the `setSupportMultipleWindows` prop for Android. This sets the underlying Android WebView setting `setSupportMultipleWindows`. This prop defaults to `true` (previously `false`), and serves to mitigate the security advisory [CVE-2020-6506](https://github.com/react-native-webview/react-native-webview/security/advisories/GHSA-36j3-xxf7-4pqg).

The primary way this new behavior changes existing React Native WebView implementations on Android is that links that open in new tabs/windows (such as `<a target="_blank">`) will now prompt to open in the system browser, rather than re-using the current WebView.

If this behavior is not desirable, you can set this new prop to `false`, but be aware that this exposes your app to the security vulnerability listed above. Make sure you have read and understand the whole advisory and relevant links.

iOS & Windows are unaffected.

```jsx
<WebView
  // ...
  setSupportMultipleWindows={true} // default: true
/>
```

Thanks to @mrcoinbase, @kelset, and @Titozzz for their work on this.
2020-11-24 09:15:19 -08:00

24 lines
502 B
TypeScript

import React, {Component} from 'react';
import {View} from 'react-native';
import WebView from 'react-native-webview';
type Props = {};
type State = {};
export default class NativeWebpage extends Component<Props, State> {
state = {};
render() {
return (
<View style={{height: 400}}>
<WebView
source={{uri: 'https://infinite.red'}}
style={{width: '100%', height: '100%'}}
// setSupportMultipleWindows={false}
/>
</View>
);
}
}