public createNginx ( string $date, array $lines ) | ||
$date | string | |
$lines | array |
public function createNginx($date, array $lines)
{
$file = __DIR__ . '/../referral-spam.conf';
$data = "# " . $this->projectUrl . "\n# Updated " . $date . "\n#\n# /etc/nginx/referral-spam.conf\n#\n" . "# With referral-spam.conf in /etc/nginx, include it globally from within /etc/nginx/nginx.conf:\n#\n" . "# include referral-spam.conf;\n#\n" . "# Add the following to each /etc/nginx/site-available/your-site.conf that needs protection:\n#\n" . "# server {\n# if (\$bad_referer) {\n# return 444;\n# }\n# }\n" . "#\nmap \$http_referer \$bad_referer {\n\tdefault 0;\n\n";
foreach ($lines as $line) {
$data .= "\t\"~*" . preg_quote($line) . "\" 1;\n";
}
$data .= "\n}";
$this->writeToFile($file, $data);
}
} } else { trigger_error("Permission denied"); } } /** * @param array $lines */ public function createGoogleExclude(array $lines) { $file = __DIR__ . '/../google-exclude.txt'; $reqexLines = []; foreach ($lines as $line) { $reqexLines[] = preg_quote($line); } $data = implode('|', $reqexLines); if (is_readable($file) && is_writable($file)) { file_put_contents($file, $data); } else { trigger_error("Permission denied"); } } } date_default_timezone_set('UTC'); $date = date('Y-m-d H:i:s'); $generator = new Generate(); require __DIR__ . '/vendor/autoload.php'; $lines = $generator->domainWorker(); $generator->createApache($date, $lines); $generator->createNginx($date, $lines); $generator->createGoogleExclude($lines);