WordPress uploadsフォルダ内ファイルへの直接アクセス禁止

Filed under: wordpress — kdcs @ 22年4月11日 月曜日

.htaccessファイルをuploadsフォルダ内に入れてファイル直接アクセスの禁止制限をかける。
サイト内のリンクからのアクセスはOK

.htaccessの記述

SetEnvIf Referer "^https://hogehoge.co.jp" ShowOK
order deny,allow
deny from all
allow from env=ShowOK

特定のPDFファイルのみ禁止
例は、_memberがファイル名に付くPDFファイルのみ禁止
URLはhttpとhttps両方の場合。httpsにリダイレクトさせている場合はhttpsだけでよい

SetEnvIf Referer "^http://hogehoge.com" mysite
SetEnvIf Referer "^https://hogehoge.com" mysite
<Files ~ "_member\.(pdf)$">
order deny,allow
deny from all
allow from env=mysite
</Files>
~ パターンマッチであるという意味です。「=」でないことに注意してください。「~」より右側に記述したルールにマッチしたファイルを適応するということです。
^ ファイル名の先頭であることを指示します。たとえば、 と記述すると、ファイル名のどこかに「access」という文字列が入っていれば、OKとなります。しかし、 と記述すると、ファイル名の先頭が「access」であるファイルのみが適応されます。
$ ファイル名の最後であることを指示します。たとえば、と記述すると、ファイル名の最後が「access」となっているファイルのみが適応されます。したがって、「access.log」のようなファイル名には適用されません。
* ワイルドカードです
? 一文字ワイルドカードです。
\ 「.」「\」「|」「$」のような記号文字は、指示子内では、特別な意味を持ってしまいます。したがって、このような文字を純粋に指定したい場合には、その文字の効果を無効にするために「\」を記述します。たとえば、と記述すると、「$」はファイル名の最後という指示を持った記号ですので、純粋に「access$」というファイル名に適応できません。この場合には、「$」の効果を無効にするために、「\」を前に入れて を記述します。
(foo|bar) 括弧内に、「|」で区切って記述すると、その中に記述された文字列のいづれかという意味となります。この場合には、「foo」もしくは「bar」という意味となります。

1.「SetEnvIf」

[URL]

リファラ(Referer)の条件を正規表現で指定します。

「"^http://www\.example\.jp"」を指定すると、アクセス元URLが「http://www.example.jp」で始まっているを意味します。

[結果]

リファラ(Referer)の条件に該当するときに結果が設定されます。
設定された結果は「許可(allow)」や「拒否(deny)」の判定に利用できます。

2.「order」

許可(allow)と拒否(deny)の判定順を指定します

例えば、「order deny,allow」の場合は、「拒否(deny)」に該当したら「許可(allow)」を判定するするため、「許可(allow)」が優先となります。

「order allow,deny」は、許可(allow)→拒否(deny)の順に判定することで、拒否を設定
「order deny,allow」は、拒否(deny)→許可(allow)の順に判定することで、許可を設定

3.「allow」

許可(allow)の条件を指定します
「allow from all」は、すべて許可を表します

「特定アクセスを拒否」する設定の場合は、「order allow,deny」を指定するため「allow from all」で一旦すべて許可を指定し、その後に拒否(deny)を指定します。

4.「deny」

拒否(deny)の条件を指定します
「deny from all」は、すべて拒否を表します

「特定アクセスを許可」する設定の場合は、「order deny,allow」を指定するため「deny from all」で一旦すべて拒否を指定し、その後に許可(allow)を指定します。

5.結果判定の指定方法

判定する[結果]は、「from」の後に「env=[結果]」で指定します。

「allow from env=[結果]」の場合、リファラ(Referer)の条件に該当する場合は「許可」
「deny from env=[結果]」の場合、リファラ(Referer)の条件に該当する場合は「拒否」

カスタム投稿タイプの個別記事でのカテゴリー分岐

Filed under: wordpress — kdcs @ 22年4月7日 木曜日

カスタム投稿タイプの個別記事(single-custom.php)テンプレート内でカテゴリー分岐させる方法。
customはカスタム投稿タイプ名
custom-name_categoryはカスタムタクソノミー
xxxはタームのスラッグ

single-custom.php内に記述

<?php if(has_term('xxx','custom_category')&&is_single()): ?>
// 処理
<?php else: ?>

WordPress 会員サイトでログインユーザー名を表示する

Filed under: wordpress — kdcs @ 22年3月28日 月曜日

ログインしているユーザーの名前を表示させる方法
先頭に「ようこそ」最後尾に「さん」、ログインしていない状態は「ゲスト」

<div class="userName">ようこそ<?php if(is_user_logged_in()): ?><?php global $current_user; echo $current_user->nickname ?><?php else: ?>ゲスト<?php endif; ?>さん</div>

ユーザー名=user_nicename
ニックネーム=nickname
姓=last_name
名=first_name

WordPress pdfファイルのリンクを別ウインドで開く

Filed under: JavaScript,wordpress,未分類 — kdcs @ 22年3月28日 月曜日

WordPressで投稿にpdfファイルをアップロードしてリンクを貼る際に
別ウインドで開くようにするために「target=”blank”」を付ける方法。

但し、セキュリティーの観点から「rel=”noopener nofollow”」を付けることが推奨される。

jQueryの記述

$(document).ready(function () {
	// PDFファイルリンクに target="_blank"を付ける
	$("a[href*='.pdf']").attr('target','_blank');
	$("a[href*='.pdf']").attr('rel','noopener nofollow');
});

WordPress5.9で追加されたログイン画面の言語切り替えを非表示にする

Filed under: functions.php,wordpress — kdcs @ 22年3月28日 月曜日

WordPress5.9で追加されたログイン画面の言語切り替えを非表示にする

function.phpに以下記述

//ログイン画面の言語切り替えを非表示にする------------------------------------------------
add_filter('login_display_language_dropdown', '__return_false');

サイト内検索

カテゴリー

最近の投稿

↑上に戻る