書き換え条件でIPフィールドを置き換える方法

書き換え条件でIPフィールドを置き換える方法

.htaccessこのファイルには、特定のファイルとフォルダをブロックするための次の抜粋が含まれています。

RewriteCond %{REQUEST_URI} wp-login.php|wp-admin
RewriteCond %{REMOTE_ADDR} !^123.456.789.
RewriteRule . - [R=404,L]

123.456.789フィールドを次から検索できる現在のIPに置き換える必要があります。

w -h | awk '{print $3}' | head -1

.htaccessファイルのIPフィールドを現在スクラップされているIPに置き換えてファイルwに再保存するにはどうすればよいですか?.htaccess

答え1

Apacheは特に.htaccessファイルの場合は無状態です。つまり、どのガイドラインでもすぐに追加できます。 cronスクリプトを生成して毎分実行することができ、スクリプトに正しいコマンド構文 "RewriteCond %{REMOTE_ADDR} !^xxx を使用して 'w -h | awk '{print $3}' | head -1' を実行させるxxx.xxx" は、.htaccess ファイルに関連情報を挿入します。

Apacheはステートレスであるため、.htaccessの内部ディレクトリまたはサブディレクトリに対するすべての要求に対して.htaccessファイルを読み込みます。したがって、コマンドはApacheを再起動せずにすぐに適用されます。

答え2

解決策が見つかりました。必要な人がいる場合は、次のようになります。

sed -i "s/RewriteCond %{REMOTE_ADDR} \!\^[0-9,\.]*/RewriteCond %{REMOTE_ADDR} \!\^$(w -h | awk '{print $3}' | head -1)/g" .htaccess

関連情報