ベーシック認証の設置方法 2019-08-10 (土) 11:13:52+09:00

メモ

ネットで検索すると .htaccess と .htpasswd というファイルを作るという説明が多数あった。

まず .htaccess について。

いきなり、認証をかけたい url に .htaccess を用意して、

    AuthType Basic

AuthName "Input your ID and Password."

AuthUserFile /url/.htpasswd

require valid-user

のように書けばよい、と書いてあるサイトがあるが、間違いだ。

ベーシック認証を許可するには、ベーシック認証を実行したい url で AuthType, AutoName, Require, AuthUserFile などの認証処理に必要なディレクティブが許可されていなければいけないのだ。

その方法は2つある。

1つ目は、上記の通り .htaccess を用意する方法だが、その url でベーシック認証に必要なディレクトリ群を使用許可していなければいけないので、 httpd.conf (以前書いた通り ubuntu の apace2 では apache2.conf)にて、

<Directory "/設定したい url /">

AllowOverride AuthConfig

</Directory>

のようにして、ベーシック認証に必要なディレクティブの実行を許可しておく必要がある。

<Directory "/設定したい url /">

AllowOverride None

</Directory>

などとなっている場合もあるので、 httpd.conf ( apache2.conf ) をよく見て修正する必要がある。

2つ目は、 httpd.conf ( apache2.conf ) に直接、

<Directory /ベーシック認証したいurl/>

AuthType Basic

AuthName "Auth"

AuthUserFile .htpasswd

Require valid-user

</Directory>

のように記述する方法だ。

これらの方法で、ベーシック認証を行いたい url での認証許可や認証に使うファイルを指定しておく。

次は .htpasswd についてだ。

多くのサイトでの .htpasswd の作り方の紹介内容が問題だ。多くのサイトが、自分のページに、「暗号化されたパスワード文字列を生成するツール」を用意していて、それを使って作るように書いてある。

それは、あぶなくて使えない。

ネットのセキュリティを構築するためのパスワードなのに、どこの誰かも分からないサイトに、大事なユーザ名とパスワードを渡してしまえば、暗号化されたパスワードまで知られてしまう。

セキュリティはゼロになる。

暗号化されたパスワードは、自分で作れる。

apache2 のパッケージの中に htpasswd というコマンドがあるので、それで作るとよい。

ubuntu の場合、htpasswd コマンドは apache2-utils パッケージの中に含まれていて、 /usr/bin/ にインストールされる。

使い方は、「ApacheでBasic認証をするhtpasswdのコマンド」にも書かれているが、こちらの解説はユーザ名を指定して .htpasswd ファイルを作るとしか書かれていないので不十分である。

参考サイトに書かれているように

htpasswd -c ファイル名 ユーザ名

と入力したらどうなるかというと、そのユーザ名のためのパスワードを聞かれる。そして、決めたパスワードを入力すると、指定したファイル名でベーシック認証用のファイル(通常は .htpasswd )が作成される。

htpasswd -bc ファイル名 ユーザ名 パスワード

とすると、パスワードまで指定してコマンドを実行し、指定のファイル名でベーシック認証用のファイルを作成できる。

より詳しい使い方は htpasswd --help で自分で確かめてほしい。

おまけ:

アクセス制限ベーシック認証 ~パスワードでページを守ろう~」では、 perl のスクリプトでパスワードの暗号化を行う例が示されている。


Libre Office で縦中横は今も無理 2019-08-08 (木) 09:16:47+09:00

メモ

昔から Libre Office では懸案の、縦書き文書を作ったときの動作をひさしぶりに確かめてみた。Libre Office Writer のバージョンは 6.2.5.2 。

縦書き文章中の横文字表示、Libreoffice(Writer) と MS-Office(Word)」を参考に、記事の通りに縦中横を試してみた。

記事と同じように、全て全角で「平成30年」と縦書き文書を打ち込み、「30」を選択し、「文字>位置>回転/倍率」を「90度」にしたところ、用紙の左側が上となるよう3と0がそれぞれ90度左に回転した状態で左右に並び、左側に3、右側に0が表示される状態になった。参考記事の結果と似ているが、文字が左に90度回転している点が異なる。

動作としては、私の結果の方が正しい気がする(表記通りに文字が90度回転したので)が、これだと縦中横としてはダメだ。推測だが、参考記事が書かれた時点の Libre Office では、何らかの実装バグがあり、その結果として「たまたまうまくいく」ように見える状態だったのだろうと思う。

「文字>位置>回転/倍率」は、本来縦中横としての機能ではないので仕方のない結果だと思うが、やはりというか、未だに縦書き文書については懸案のままのようだ。

実は、参考記事の方法とは異なるのだが、「平成30年」の「30」だけを半角文字で入力すると、「30」が用紙の右を上として、全角文字より右に90度回転した状態で上に3、下に0が表示される。この状態の半角の「30」に対して同じ処理を行うと、左に90度回転するので、縦中横が実現するような結果になる。ただしこの方法だと数字は半角でなければならないのと、表示される位置がどうも微妙に右にずれていてかっこうが悪いのだが、それはなおせないようだ。

結果をまとめると、全角・半角関わらず縦中横を実現することは、現状できないし、半角でも位置がずれる。

縦中横を実現するためには、縦中横専用の機能を実装する必要がある、ということだ。

この記事のリンク元 | 14 | 12 | 8 | 5 | 3 | 1 |

この記事のリンク用URL&トラックバックURL : https://red-souls.jp/ichounoki/rnote/memo/20190808_091647231519.htm

キーワード: Libre Office Writer 縦中横


rnotepad.php を修正 2019-07-29 (月) 21:00:05+09:00

メモ

rnotepad をさらに修正しプラグイン化して、 Administrator Tool の管理画面に組み込んだ。

これで、いつでも画面上部に再構築やサイト表示のボタンがあるので、投稿作業中にページをいったりきたりしなくても再構築したりサイトを表示して確認したりできるようになった。

というか、 rnotepad は管理者の投稿用エディタなので、本来、管理画面に組み込まれているべきものだと思う。

プラグイン化するにあたって、プラグインは所定のメンバ関数を備えたクラスとして記述しないといけないので、フォームの操作を実現するのがちょっと面倒だったが、既存のプラグインを参考にしながらなんとか作り上げることができた。

キーワード: rNote rnotepad.php


rnotepad.php を修正 2019-07-28 (日) 23:25:06+09:00

メモ

これまで、カテゴリの情報は rnotepad.php 内に決め打ちで書き込んであったが、面倒なので XML-RPC API 経由でカテゴリ情報を取得して使用するように修正した。

また、記事にキーワードを設定して投稿したり、既存の記事を読み込んだときに設定済みのキーワードを取り込んで表示したりすることができるようにした。

キーワード: rNote rnotepad.php


Open Live Writer での追記の仕方 2019-07-28 (日) 01:05:22+09:00

メモ

以前、「 Open Live Writer には追記の機能が無い」という意味のことを書いたが、実はそうではなく、追記を実現することはできる。

方法としては、追記にしたい部分の先頭に
<!--more-->
を埋め込んでおいて記事を投稿する。

こうすることで、 XML-RPC API を用いた記事の投稿処理の中で、<!--more-->以降の部分が追記となるように投稿してくれる。

・・・はずだ。はずである。

キーワード: Open Live Writer XML-RPC 追記