強調表示で特定文字列で小文字が想定されNo.39501
Ganohr さん 22/01/13 05:38
 
いつも便利に利用させて頂いています。

秀丸の強調表示にて、アクセスログのなかでも不正が疑われるものを強調する定義を
作成しています。
そのなかで、

[client xxx.xxx.xxx.xxx:55430] AH01797: client denied by server configuratio
n: /home/public_html/favicon.ico, referer: https://yyyy.net/blog/zzzzzz/
[client xxx.xxx.xxx.xxx:33010] AH01797: client denied by server configuratio
n: /home/public_html/blog
[client xxx.xxx.xxx.xxx:33010] AH01797: client denied by server configuratio
n: /home/public_html/blog/
[client xxx.xxx.xxx.xxx:45314] AH01797: client denied by server configuratio
n: /home/public_html/BLOG
[client xxx.xxx.xxx.xxx:45336] AH01797: client denied by server configuratio
n: /home/public_html/Blog
[client xxx.xxx.xxx.xxx:45336] AH01797: client denied by server configuratio
n: /home/public_html/bloG/

先頭1〜3行目は不正とは疑われないログ、残り4〜6行目は不正と疑われるものです。

今回の判定では「/blog」が全て小文字か否かによって見極めるものとしています。

正規表現としては「(?<!/blog)((?<=/[bB][lL][oO][gG]))」(大文字小文字を区別)
によって検索できます。
しかし強調表示の定義に、この正規表現を指定しても強調表示を行えませんでした。

今回の例は大文字と小文字の組み合わせなので「/BLOG」などの15パターンを列挙す
れば事足りますが、
この他の文字列においても、本来小文字を想定しているところを大文字に変えて不正
アクセスを試す輩は多いため、
パターンを列挙するという手法は非現実的となっています。

なおマクロによる実装は終わっており、あくまで「強調表示で強調できないか?」と
いうご相談です。

アップデートが難しい場合はご容赦ください。
もしくは他の正規表現が可能であればご教示頂ければありがたいです。

以上、よろしくお願いいたします。

[ ]
RE:39501 強調表示で特定文字列で小文字がNo.39503
秀丸担当 さん 22/01/13 09:42
 
確認してみたところ、ゼロ文字にヒットするようなので、強調表示はおそらく「行の
強調」にされているということかと思います。
ゼロ文字の場合は、普通の強調も行の強調もされないようにしてありました。
行の強調の場合はゼロ文字でできてもいいと思います。
互換性が心配ですが、普通の強調でゼロ文字を飛ばすためにしていただけのはずなの
で、次のβ版で、行の強調に限ってはゼロ文字でもできるようにしてみます。

現状では、例えば
/(?!blog)((?=[bB][lL][oO][gG]))
のように1文字以上にヒットするようにするといいです。

[ ]
RE:39503 強調表示で特定文字列で小文字がNo.39511
Ganohr さん 22/01/17 03:17
 
>確認してみたところ、ゼロ文字にヒットするようなので、強調表示はおそらく「行
>の強調」にされているということかと思います。
> ......
>のように1文字以上にヒットするようにするといいです。

ご返信ありがとうございます。
詳細了解しました。

お教えいただいた正規表現に変更して強調表示を適用いたしました。
やはり行の強調ができると大変便利です。

別のパターンを定義する時にも採用させていただこうと思います。
重ねてありがとうございました。

[ ]