def _check_openbasedir(self): open_basedir = ModuleExec( 'system_info', ['-info', 'open_basedir']).load_result_or_run('open_basedir') if not open_basedir: return messages.module_audit_phpconf.basedir_unrestricted dir_sep = ModuleExec( 'system_info', ['-info', 'dir_sep']).load_result_or_run('dir_sep') if not self.os_type or not dir_sep: return messages.module_audit_phpconf.error path_sep = ':' if 'win' in self.os_type else ';' paths = open_basedir.split(path_sep) result = '' for path in paths: result += path + ': ' if not path.endswith(dir_sep): result += ' ' + messages.module_audit_phpconf.basedir_no_slash elif path == '.': result += ' ' + messages.module_audit_phpconf.basedir_dot result += '\n' return result[-2:]
def _get_env_info(self, script_url): script_folder = ModuleExec( 'system_info', ['-info', 'script_folder']).load_result_or_run('script_folder') if not script_folder: return script_url_splitted = urlparse.urlsplit(script_url) script_url_path_folder, script_url_path_filename = os.path.split( script_url_splitted.path) url_folder_pieces = script_url_path_folder.split(os.sep) folder_pieces = script_folder.split(os.sep) for pieceurl, piecefolder in zip(reversed(url_folder_pieces), reversed(folder_pieces)): if pieceurl == piecefolder: folder_pieces.pop() url_folder_pieces.pop() else: break base_url_path_folder = os.sep.join(url_folder_pieces) self.base_folder_url = urlparse.urlunsplit(script_url_splitted[:2] + (base_url_path_folder, ) + script_url_splitted[3:]) self.base_folder_path = os.sep.join(folder_pieces)
def _check_openbasedir(self): open_basedir = ModuleExec('system_info', [ '-info', 'open_basedir' ]).load_result_or_run('open_basedir') if not open_basedir: return messages.module_audit_phpconf.basedir_unrestricted dir_sep = ModuleExec('system_info', [ '-info', 'dir_sep' ]).load_result_or_run('dir_sep') if not self.os_type or not dir_sep: return messages.module_audit_phpconf.error path_sep = ':' if 'win' in self.os_type else ';' paths = open_basedir.split(path_sep) result = '' for path in paths: result += path + ': ' if not path.endswith(dir_sep): result += ' ' + messages.module_audit_phpconf.basedir_no_slash elif path == '.': result += ' ' + messages.module_audit_phpconf.basedir_dot result += '\n' return result[-2:]
def _get_env_info(self, script_url): script_folder = ModuleExec('system_info', [ '-info', 'script_folder' ]).load_result_or_run('script_folder') if not script_folder: return script_url_splitted = urlparse.urlsplit(script_url) script_url_path_folder, script_url_path_filename = os.path.split( script_url_splitted.path) url_folder_pieces = script_url_path_folder.split(os.sep) folder_pieces = script_folder.split(os.sep) for pieceurl, piecefolder in zip(reversed(url_folder_pieces), reversed(folder_pieces)): if pieceurl == piecefolder: folder_pieces.pop() url_folder_pieces.pop() else: break base_url_path_folder = os.sep.join(url_folder_pieces) self.base_folder_url = urlparse.urlunsplit( script_url_splitted[:2] + (base_url_path_folder, ) + script_url_splitted[3:]) self.base_folder_path = os.sep.join(folder_pieces)