Advertisement
dev017

unblockip (PL)

Jul 29th, 2023 (edited)
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.78 KB | None | 0 0
  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4. use warnings;
  5.  
  6. my @allowed_ips = qw(
  7.   127.0.0.1
  8.   192.168.1.1
  9.   10.0.0.1
  10. );
  11.  
  12. my $user_ip = $ENV{'REMOTE_ADDR'};
  13.  
  14. if (not grep { $_ eq $user_ip } @allowed_ips) {
  15.   die "o seu IP não está autorizado a realizar esta ação.";
  16. }
  17.  
  18. my $blocked_ips_file = '/path/to/blocked_ips.txt';
  19.  
  20. open my $fh, '<', $blocked_ips_file or die "não foi possível abrir o arquivo '$blocked_ips_file': $!";
  21.  
  22. my @blocked_ips = <$fh>;
  23.  
  24. close $fh;
  25.  
  26. if (grep { $_ eq $user_ip } @blocked_ips) {
  27.   splice @blocked_ips, grep { $_ eq $user_ip }, 1;
  28.  
  29.   open my $fh, '>', $blocked_ips_file or die "não foi possível abrir o arquivo '$blocked_ips_file' para gravação: $!";
  30.  
  31.   print $fh @blocked_ips;
  32.  
  33.   close $fh;
  34. }
  35.  
  36. print "o IP $user_ip foi desbloqueado.";
  37.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement