Portál AbcLinuxu, 23. května 2025 08:19
Řešení dotazu:
echo 'Message: Access denied with code 403 (phase 2). Operator EQ matched 0 at REQUEST_HEADERS. [file "/etc/modsecurity/modsecurity_crs_21_protocol_anomalies.conf"] [line "47"] [id "960015"] [rev "2.2.5"] [msg "Request Missing an Accept Header"] [severity "CRITICAL"] [tag "PROTOCOL_VIOLATION/MISSING_HEADER_ACCEPT"] [tag "WASCTC/WASC-21"] [tag "OWASP_TOP_10/A7"] [tag "PCI/6.5.10"]'|perl -MData::Dumper -nE 'my %a= (m/\[([^\]]+)\s+"([^"]+)"\]/g ); say Dumper \%a '
#!/usr/bin/perl use warnings; use strict; use Data::Dumper; open (FILE, "<text") or die ("unable to open text: $!"); my @array = split /\s+\[(.*?)\]\s+/, <FILE>; close (FILE); foreach (@array) { print $1 ."\n" if /"(.*)"/; } print "\n\narray dump:\n". Dumper(@array);tvoj string som si ulozil do suboru
"text"
. v tomto pripade som ocakaval len jeden riadok v nom.
vytvorim si pole rozdelene podla [.*]. text ktory ma zaujima je v paroch "".
\[file "(.+)"\] \[line "([\d]+)"\] \[id "([\d]+)"\].+\[msg "(.+)"\] (\[data ".+"\])?.+\[severity "(.+)"\]
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.