static function feature_off() { $mark = SiteGuard_AdminFilter::get_mark(); return SiteGuard_Htaccess::clear_settings($mark); }
static function feature_off() { $mark = SiteGuard_RenameLogin::get_mark(); return SiteGuard_Htaccess::clear_settings($mark); }
function update_settings($mark, $data) { if (!SiteGuard_Htaccess::make_tmp_dir()) { return false; } $flag_write = false; $flag_through = true; $flag_wp = false; $flag_wp_set = false; $wp_settings = ''; $mark_start = $mark . '_START'; $mark_end = $mark . '_END'; $mark_wp_start = '# BEGIN WordPress'; $mark_wp_end = '# END WordPress'; $current_file = SiteGuard_Htaccess::get_htaccess_file(); if (!file_exists($current_file)) { @touch($current_file); @chmod($current_file, 0604); } if (!SiteGuard_Htaccess::check_permission($current_file)) { return false; } $fr = @fopen($current_file, 'r'); if (null == $fr) { siteguard_error_log("fopen failed: {$current_file}"); return false; } $new_file = SiteGuard_Htaccess::get_htaccess_new_file(); if (!is_writable($new_file)) { siteguard_error_log("file not writable: {$new_file}"); return false; } $fw = @fopen($new_file, 'w'); if (null == $fw) { siteguard_error_log("fopen failed: {$new_file}"); return false; } while (!feof($fr)) { $line = fgets($fr, 4096); // Save WordPress settings. // WordPress settings has to be written after SiteGuard settings. if (false == $flag_write && false == $flag_wp_set && false !== strpos($line, $mark_wp_start)) { $flag_wp = true; $flag_wp_set = true; } if ($flag_wp_set) { $wp_settings .= $line; if (false !== strpos($line, $mark_wp_end)) { $flag_wp_set = false; } continue; } if (false !== strpos($line, $mark_start)) { fwrite($fw, $line, strlen($line)); fwrite($fw, $data, strlen($data)); $flag_write = true; $flag_through = false; continue; } if (false == $flag_write && false !== strpos($line, SiteGuard_Htaccess::$htaccess_mark_end)) { fwrite($fw, $mark_start . "\n", strlen($mark_start) + 1); fwrite($fw, $data, strlen($data)); fwrite($fw, $mark_end . "\n", strlen($mark_end) + 1); $flag_write = true; } if (false == $flag_through && false !== strpos($line, $mark_end)) { $flag_through = true; } if ($flag_through) { fwrite($fw, $line, strlen($line)); if (false == $flag_wp && false !== strpos($line, $mark_wp_start)) { $flag_wp = true; } } } if (false == $flag_write) { fwrite($fw, "\n" . SiteGuard_Htaccess::$htaccess_mark_start . "\n", strlen(SiteGuard_Htaccess::$htaccess_mark_start) + 2); fwrite($fw, $mark_start . "\n", strlen($mark_start) + 1); fwrite($fw, $data, strlen($data)); fwrite($fw, $mark_end . "\n", strlen($mark_end) + 1); fwrite($fw, SiteGuard_Htaccess::$htaccess_mark_end . "\n", strlen(SiteGuard_Htaccess::$htaccess_mark_end) + 1); } if ('' != $wp_settings) { // Write saved WordPress Settings fwrite($fw, "\n", 1); fwrite($fw, $wp_settings, strlen($wp_settings)); fwrite($fw, "\n", 1); } else { if (false == $flag_wp) { // Write empty WordPress Settings fwrite($fw, "\n", 1); fwrite($fw, $mark_wp_start . "\n", strlen($mark_wp_start) + 1); fwrite($fw, $mark_wp_end . "\n", strlen($mark_wp_end) + 1); fwrite($fw, "\n", 1); } } fclose($fr); fclose($fw); @chmod($new_file, 0604); if (!rename($new_file, $current_file)) { siteguard_error_log("rename failed: {$new_file} {$current_file}"); return false; } return true; }
static function feature_off() { $mark = SiteGuard_WAF_Exclude_Rule::get_mark(); return SiteGuard_Htaccess::clear_settings($mark); }
function htaccess_check() { global $config; if ('1' == $config->get('admin_filter_enable')) { if (!SiteGuard_Htaccess::is_exists_setting(SiteGuard_AdminFilter::get_mark())) { $config->set('admin_filter_enable', '0'); $config->update(); } } if ('1' == $config->get('renamelogin_enable')) { if (!SiteGuard_Htaccess::is_exists_setting(SiteGuard_RenameLogin::get_mark())) { $config->set('renamelogin_enable', '0'); $config->update(); } } if ('1' == $config->get('waf_exclude_rule_enable')) { if (!SiteGuard_Htaccess::is_exists_setting(SiteGuard_WAF_Exclude_Rule::get_mark())) { $config->set('waf_exclude_rule_enable', '0'); $config->update(); } } }