⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delete_zone.cgi

📁 Unix下基于Web的管理工具
💻 CGI
字号:
#!/usr/local/bin/perl# delete_zone.cgi# Delete an existing master, slave or secondary zone, and it's records filerequire './bind8-lib.pl';&ReadParse();$conf = &get_config();$zconf = $conf->[$in{'index'}];%access = &get_module_acl();&can_edit_zone(\%access, $zconf->{'value'}) ||	&error($text{'master_edelete'});$access{'ro'} && &error($text{'master_ero'});if ($zconf->{'value'} =~ /in-addr.arpa/i) {	# find and delete reverse records	@recs = &read_zone_file(&find("file", $zconf->{'members'})->{'value'},				$zconf->{'value'});	foreach $r (@recs) {		next if ($r->{'type'} ne "A");		($orevconf, $orevfile, $orevrec) =			&find_reverse($r->{'values'}->[0]);		if ($orevrec && &can_edit_reverse($orevconf) &&		    $r->{'name'} eq $orevrec->{'values'}->[0] &&		    $r->{'values'}->[0] eq &arpa_to_ip($orevrec->{'name'})) {			&delete_record($orevrec->{'file'} , $orevrec);			@orrecs = &read_zone_file($orevfile,						  $orevconf->{'value'});			&bump_soa_record($orevfile, \@orrecs);			}		}	}# delete the records file$f = &find("file", $zconf->{'members'});unlink(&absolute_path($f->{'value'})) if ($f);# remove the zone directive$lref = &read_file_lines($zconf->{'file'});splice(@$lref, $zconf->{'line'}, $zconf->{'eline'} - $zconf->{'line'} + 1);&flush_file_lines();# remove from acl files&read_acl(undef, \%wusers);foreach $u (keys %wusers) {	%uaccess = &get_module_acl($u);	if ($uaccess{'zones'} ne '*') {		$uaccess{'zones'} = join(' ', grep { $_ ne $zconf->{'value'} }					      split(/\s+/, $uaccess{'zones'}));		&save_module_acl(\%uaccess, $u);		}	}&redirect("");# can_edit_reverse(&zone)sub can_edit_reverse{return $access{'reverse'} || &can_edit_zone(\%access, $_[0]->{'value'});}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -