REVERT Regex Patch for Word Boundaries

This commit is contained in:
Mitchell Krog 2017-10-02 15:22:49 +02:00
parent 3fa05a4f22
commit b3763b26f5
No known key found for this signature in database
GPG key ID: 2BB9A077C8DD6994

View file

@ -1,20 +1,17 @@
<?php <?php
/* Regex Formatting Generator Script for the Nginx Ultimate Bad Bot Blocker
/* Regex Formatting Generator Script for the Nginx Ultimate Bad Bot Blocker * Adapted from Script Copyright (c) 2017 Stevie-Ray - https://github.com/Stevie-Ray
* Adapted from Script Copyright (c) 2017 Stevie-Ray - https://github.com/Stevie-Ray * Adapted by: Mitchell Krog (mitchellkrog@gmail.com) - https://github.com/mitchellkrogza
* Adapted by: Mitchell Krog (mitchellkrog@gmail.com) - https://github.com/mitchellkrogza * Repo Url: https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker
* Repo Url: https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker */
*/
namespace mitchellkrogza; namespace mitchellkrogza;
use Mso\IdnaConvert\IdnaConvert; use Mso\IdnaConvert\IdnaConvert;
class Generator class Generator
{ {
private $projectUrl = "https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker"; private $projectUrl = "https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker";
public function generateFiles() public function generateFiles()
{ {
date_default_timezone_set('Africa/Johannesburg'); date_default_timezone_set('Africa/Johannesburg');
@ -23,6 +20,7 @@ class Generator
$this->createNginx($lines); $this->createNginx($lines);
} }
/** /**
* @return array * @return array
*/ */
@ -44,6 +42,7 @@ class Generator
$IDN = new IdnaConvert(); $IDN = new IdnaConvert();
$line = $IDN->encode($line); $line = $IDN->encode($line);
} }
if (empty($line)) { if (empty($line)) {
@ -51,12 +50,9 @@ class Generator
} }
$lines[] = $line; $lines[] = $line;
} }
fclose($handle); fclose($handle);
$uniqueLines = array_unique($lines, SORT_STRING); $uniqueLines = array_unique($lines, SORT_STRING);
sort($uniqueLines, SORT_STRING); sort($uniqueLines, SORT_STRING);
if (is_writable($domainsFile)) { if (is_writable($domainsFile)) {
file_put_contents($domainsFile, implode("\n", $uniqueLines)); file_put_contents($domainsFile, implode("\n", $uniqueLines));
} else { } else {
@ -66,37 +62,34 @@ class Generator
return $lines; return $lines;
} }
/** /**
* Write to File Function * Write to File Function
* @param $filename * @param $filename
* @param $data * @param $data
*/ */
protected function writeToFile($filename, $data) protected function writeToFile($filename, $data)
{ {
$file = "/home/travis/build/mitchellkrogza/nginx-ultimate-bad-bot-blocker/.dev-tools/referrers-regex-format.txt"; $file = "/home/travis/build/mitchellkrogza/nginx-ultimate-bad-bot-blocker/.dev-tools/referrers-regex-format.txt";
$handle = fopen($file, 'w') or die('Cannot open file: ' . $file); $handle = fopen($file, 'w') or die('Cannot open file: '.$file);
fwrite($handle, $data); fwrite($handle, $data);
} }
/** /**
* @param string $date * @param string $date
* @param array $lines * @param array $lines
*/ */
public function createNginx(array $lines) public function createNginx(array $lines)
{ {
$file = "/home/travis/build/mitchellkrogza/nginx-ultimate-bad-bot-blocker/.dev-tools/referrers-regex-format.txt"; $file = "/home/travis/build/mitchellkrogza/nginx-ultimate-bad-bot-blocker/.dev-tools/referrers-regex-format.txt";
$data = ""; $data = "";
{
foreach ($lines as $line) { foreach ($lines as $line) {
//$data .= "\"~*" "\\" "b" . preg_quote($line) . "\\" "b" "\" \t1;\n"; //$data .= "\"~*\b" . preg_quote($line) . "\"\b" "\t1;\n";
//$data .= "\" . "~*\\" . 'b' . preg_quote($line) . "\" . '\\' . 'b' "\" "\t1;\n"; $data .= "\"~*" . preg_quote($line) . "\" \t1;\n";
//$data .= "\" . "~\\" . '\b' . preg_quote($line) . "\" . '\' . '\b' "\t1\n";
$data .= '\\' . '~\\' . "\\" . "b" . preg_quote($line) . "\\" . "b \t1\n";
} }
$this->writeToFile($file, $data); $this->writeToFile($file, $data);
} }
}
} }
$generator = new Generator(); $generator = new Generator();
$generator->generateFiles(); $generator->generateFiles();