1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-24 04:48:03 +00:00

Repair xss bug (#5256)

* repair upload file with same script name bug

* update repo name xss bug

* fix: transform lib xss bug

* optimize code
This commit is contained in:
杨顺强
2022-09-08 16:42:55 +08:00
committed by GitHub
parent db77c8e8ad
commit 91d1751a57
9 changed files with 71 additions and 25 deletions

View File

@@ -3,6 +3,7 @@ import PropTypes from 'prop-types';
import { Modal, ModalHeader, ModalBody, TabContent, TabPane, Nav, NavItem, NavLink } from 'reactstrap';
import { gettext } from '../../utils/constants';
import { Utils } from '../../utils/utils';
import StyledTitle from '../styled-title';
import LibSubFolderSetUserPermissionDialog from './lib-sub-folder-set-user-permission-dialog';
import LibSubFolderSetGroupPermissionDialog from './lib-sub-folder-set-group-permission-dialog';
import '../../css/share-link-dialog.css';
@@ -32,7 +33,7 @@ class LibSubFolderPermissionDialog extends React.Component {
}
renderContent = () => {
let activeTab = this.state.activeTab;
const activeTab = this.state.activeTab;
return (
<Fragment>
@@ -64,14 +65,28 @@ class LibSubFolderPermissionDialog extends React.Component {
);
}
render() {
renderHeader = () => {
const { repoName, folderName } = this.props;
if (repoName) {
return (
<Fragment>
<StyledTitle title={repoName} />{gettext('Folder Permission')}
</Fragment>
);
}
return (
<Fragment>
{gettext('Set')}{' '}<StyledTitle title={folderName} />{gettext('permission')}
</Fragment>
);
}
render() {
return (
<div>
<Modal isOpen={true} style={{maxWidth: '980px'}} className="share-dialog" toggle={this.props.toggleDialog}>
<ModalHeader toggle={this.props.toggleDialog}>
<span dangerouslySetInnerHTML={{__html: repoName ? Utils.generateDialogTitle(gettext('{placeholder} Folder Permission'), repoName) : Utils.generateDialogTitle(gettext('Set {placeholder}\'s permission'), folderName)}}></span>
{this.renderHeader()}
</ModalHeader>
<ModalBody className="dialog-list-container share-dialog-content" role="tablist">
{this.renderContent()}