save_zone.cgi

来自「linux环境下的一个防火墙程序的源代码」· CGI 代码 · 共 60 行

CGI
60
字号
#!/usr/bin/perl#======================================================================# Turtle Firewall webmin module## Copyright (c) Andrea Frigido# You may distribute under the terms of either the GNU General Public# License#======================================================================do 'lib.pl';$newzone = $in{'newzone'};$zone = $in{'zone'};$if = $in{'if'};$description = $in{'description'};if( ! $fw->checkName($newzone) ) {	error( $text{save_zone_error8} );}# A zone to addif( $in{'delete'} ) {	# delete zone	$whatfailed = $text{save_zone_error_title1};	if( !$fw->DeleteZone( $zone ) ) {		error( $text{save_zone_error1} );	}} else {	$whatfailed = $in{'new'} ? $text{save_zone_error_title2} : $text{save_zone_error_title3};	if ( $if eq '' ) { error( $text{save_zone_error2} ); }	if ( $if =~ /\:/ ) { error( $text{save_zone_error3} ); }	if( $in{'new'} ) {		# create zone		if ( $zone eq '' ) { error( $text{save_zone_error4} ); }		if ( $zone eq 'FIREWALL' ) { error( $text{save_zone_error5} ); }		my @allitems = $fw->GetAllItemsList();		foreach my $i (@allitems) {			if( $i eq $zone ) {				error( $text{save_zone_error6} );			}		}		$fw->AddZone( $zone, $if, $description );	} else {		# save zone		$fw->AddZone( $zone, $if, $description );		if( $newzone ne $zone ) {			if( !$fw->RenameItem( $zone, $newzone ) ) {				error( text('save_zone_error7', $zone, $newzone) );			}		}	}}# &header( $text{'title'}, '' );$fw->SaveFirewall();redirect( 'list_items.cgi' );

⌨️ 快捷键说明

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