blog - みきまるしぇ

ウェブサイト用語の基礎知識

用語解説 - 正規表現

 新学期、新生活など、さまざまな変化がある3月です。今年はとくにですが、師走よりも気ぜわしく感じるのは、そろそろ東日本大震災から10年の節目で、さまざまなことを考えてしまうからでしょうか。

 さて、今日の話題「正規表現」は、とくにウェブサイト用語というわけでもないのですが、たまたまこのブログで用意しているカテゴリ名がそうなっておりますので、ここで紹介します。

 たくさんの文字列、文章、あるいは文字やデータの集合体に対して、規則性に基づいた表現を使って探しものをしたり、内容を置き換えるなどの編集ができます。そのときに使う表現を「正規表現」といいます。いや、もしかしたらすごくきちんとした定義があるのかもしれませんけれども、わたしはそう理解しています。

 たとえば数ページ程度の文章やデータであれば、ひとつひとつ検索して手で直すことも手間ではありませんが、数百、数千のページにわたって変更をしなければならないとき、これがとても役立ちます。
 

 実は本日ですが、大きなテキストファイルからルビ記号に囲まれた文字をすべて探して消そうとしました。例を書けばこういうものを
《たとえばこの中に含まれている内容がルビです》
 …消そうと思ったのですが、うっかり正規表現の記憶違いをしていて、関係ない文字列までが消えてしまう。あれれ、おかしいぞと検索をしましたところ、まったく同じ内容で質問をしている人の掲示板を見つけてしまいました →  《》で囲まれた文字をすべて削除したい

 ネットは便利ですね。わたしが最初に書いたものがきちんと動かなかったのは「 .*? とすべきだったところを最後に ? を付け忘れたため」だったとわかりました。

 また、こちらの murashun.jp さんのように、正規表現が見やすく整理されているものもありますので、ブックマークしておいて、たまに見るのも勉強になります→  基本的な正規表現一覧

 去年ですが、閲覧用に残しておいた自分の古いブログ内容を編集し、静的なテキスト部分だけを残すという、手間のかかる作業をしました。もう使っていない古いブログでしたが、CGIなど動的な部分が残っていれば誰かに狙われないともかぎりませんので、念には念をと思ったのです。合計で数百ページから該当する箇所を削除してまわる作業でしたが、正規表現と合わせて、テキストエディタで楽に実現できました。

 難しそうに思えても、何か思いついたとき「正規表現を検索して調べてみようか」と、考えてみるだけでも、けっこう新しい世界が開けるかもしれません。

≫ 続きを読む

ウェブサイト用語の基礎知識   2021/03/07   mikimarche

用語解説 - WAF

 この単語はまだご紹介していなかったようですので、最近の体験とともに、ちょっと書いてみたいと思います。文字としては Web Application Firewall(Webアプリケーションファイアーウォール)の略です。ざっと検索してみた範囲では、「ワフ」と読む人のほうが、ダブリューエーエフよりも、多そうです。

 ウェブサイトは、かつて誰かが書いたものを見に行く場所でした。あらかじめ用意されたもの(HTMLファイル)を、情報が欲しい側が見るスタイルが中心でした。
 その後、どんどんと時代が下り、ウェブサイト側には情報があって、見に来た人がどの情報を見たがっているかがわかった段階で、HTMLファイルを生成して表示させるスタイルに変化していきます。現在の主流はこちらです。

 その際、見に来た人にまじって、悪意のあるロボットが検索窓や問い合わせフォームなどの入力可能な場所を狙い、一般的な文字列ではないもの(コード)を入力して情報を盗み出そうとする、あるいは改竄するなどの被害が出るようになってきました。これらを防ぐため、閲覧に来た人に最低限のことだけを許可するよう、目を光らせる役割がWAFにあります。

 建物のセキュリティに例えますと、こんな感じです。
 入館者が入り口で名前を名乗り、身分証を見せます。入れてくれるのが玄関の警備員さん(認証)だとしますと、WAFは内部で、その人と行動を共にする立場です。どこかの部屋にはいろうとする人に「それは、入館時に用があると言っていなかった部屋ですが、はいるつもりですか」と、確認のためストップをかけるお仕事。

 両方の係員さんがいて、より安全と言えるのかもしれません。いないよりも両方いたほうが、それはたしかによいでしょう。ただしごく小規模なウェブサイト(管理者がひとりまたは少人数)では、入り口だけの警備員さんでもいいのかなと、迷うところではあります。

 こちらのCANONのサイトが、やや専門的ではありますが、WAFについてわかりやすくまとまっています → https://cweb.canon.jp/it-sec/solution/siteguard/waf/

 実はこのWAFですが、たまに厳しすぎることがあるのです。ときおりウェブサイトの管理者が正規の作業をしようとしても、ブロックすることがあります。

 昨日、実はわたしは自分のウェブサイトのデザイン変更で、JavaScriptのある場所を触ろうとしたのですが、いっさい反応しない上に、場合によってはクリックしただけで403(権限がないときに出る記号)が表示されることも。なぜなのか、なぜなのかと2時間くらい悩んでしまいましたが、ようやくつい最近WAFをオンにしたことを思い出しました。以前からときおりオンにしては、不都合でいったんオフにしたりと、迷いながらオンオフをくり返していたのです。

 今回も、ねんのため作業中のみオフにし、作業が終わってからオンにしました。次回また、同じことであたふたしないとよいのですが。

≫ 続きを読む

ウェブサイト用語の基礎知識   2021/02/22   mikimarche

用語解説 - .htaccess

 気づけばずいぶんと長く書いていませんでしたが、みなさまいかがお過ごしでしょうか。ふたたびブログを書きます。暑い夏も終わりに近づき、曇り空が多くなってきました。

 さて、今日は .htaccess ですが、ファイル名です。頭にドットが付いていますので、読み方は「ドットエイチティーアクセス」です。利用者が閲覧する際に、そのブラウザを適切な場所に案内したり、制限をかけたりすることができるファイルです。

 .htaccessでできることは、制御や、誘導です。

 簡単なところでは、この階層から下はパスワードを知っている関係者しか見られないようにする、といった制御。あるいは自社内のコンピュータからしか接続できないようにするといった、IPやホストでのアクセス制限。

 たとえば、架空ですがミキマル製菓という会社があり、その会社のサイトは mikimaru-seika.com というドメインを持っていたとします。それ以前に関連部署が mikimaru-seika.net で通販をしていたけれど、通販部門は現在お休みしており、そのリニューアルが終わるまでの数か月は、mikimaru-seika.netに来たお客さんをすべてmikimaru-seika.com内の説明ページに自動でジャンプさせてしまおう、といったことが可能になります。

 あるいは、アドレスに統一性を持たせて管理しやすくするといったことにも役立ちます。
 mikimaru-seika.comにアクセスしたお客さんが、たまたまそのとき表示されたmikimaru-seika.com/index.html という場所でブックマークをして、次から index.html をつけたままのURLでアクセスしてくるかもしれません。ですがサイトとしては、将来的にその最後のファイル名が変わってしまう可能性を考えて、念のために index.html でアクセスした人にも、mikimaru-seika.com/ に誘導するように.htaccessに書いておくことができます。

 .htaccessというのは、実は中身は普通のテキストファイルです。パソコンなどに最初からはいっているメモ機能のソフトウェアで書けます。文法を間違わないように気をつけることと、テキストファイルとして作成して、ネットに載せたあとで、ファイル名を.htaccessに変更するだけで使えます。(最初から頭にドットをつけたファイル名ではなく、最後に名称変更をして、ドットをつけます)

 実際に書いてみたい方は、ネットで「.htaccessとは」と検索すれば、例文がたくさん表示されますので、ぜひお試しを。

≫ 続きを読む

ウェブサイト用語の基礎知識   2019/09/03   mikimarche

用語解説 - favicon (ファビコン) -

 favicon (ファビコン)とは、なんでしょうか?

 おもにパソコンなど画面の大きな環境でインターネットを利用していると、ウェブサイトを見にいったときに履歴やアドレスバーにアイコンが付いていることが、わかる場合があります。スマホやタブレットなどの画面ですと、そのときは気づかないのですが、ブックマークや履歴、よく見にいくサイト一覧で、サイトが名前ではなくアイコンで表示されているのがわかると思います。

 たとえば
Facebookならば、濃い青の背景に白のF F icon 
ツイッターなら明るい青の背景に白い鳩Twitter_Social_96px.png
ですね。

(これらのファイル2点は、FacebookはWiki Commonsからのリンク表示、Twitterは正規のサイトからダウンロードしてきたものをそれぞれ16pxで表示しています)

 こういった仕組みで表示されるものを favicon (favorite icon お気に入りアイコンの略) と呼びます。日本語のカタカナでは、ファビコンです。これはもともとマイクロソフトのブラウザInternet Explorerからはじまったものだと聞いています。しばらくのあいだ、そして現在でも多くの人が、画像ファイルを作成する際に拡張子を .ico としたファイルを利用しています。

(この部分は無駄知識ですが、マイクロソフト系のOSでは拡張子が3文字で処理されてきましたので、.iconであればわかりやすかったところを最後のnをとって.icoとなっています。同様にウェブページの拡張子 ".html"も、マイクロソフト系の環境では.htmと長く表示されてきましたが、正式には最後にlがつくものでした)

 最近はで大きめファイルで作る事例も多いようなのですが、実はこれ、初期のころは律儀に16pixelの正方形で作られていました。その16pxというのは、インターネットでみなさんが日本語の文字をご覧になる場合は12ptというサイズで指定されているサイトが多いですが、これとほぼ同じです。日本語1文字分に画像を入れていたわけで、90年代末ころには、あまり高度な柄は入れられませんでした。

 その後、世の中のパソコンやさまざまな環境の変化で、大き目の正方形ファイルで作っても読める人が増えてきたため、いまでは96pxくらいで作る人もいれば、144pxなどの人もいます。大きく丁寧に作っても、読む人の環境に合わせて縮小表示がなされるので、大きなファイルのまま表示されるということではありません。ただ、大きくすれば相手のパケット代は増えますので、そのあたりの判断から、大きすぎないものを心がけると、よいのかもしれません。

 favicon用のファイルは伝統的には拡張子.icoのものでしたが、最近では、サイトのほうで独自に用意した.pngを使うと宣言してロボットにそれを読ませたり、アップル社のapple-touch-icon.pngを使用している例もあるようです。

 昔ながらの.icoファイルを用意するには、

  • それ専用が可能なソフトをダウンロードして作成——これは、「アイコン作成ができるソフト」などの検索をすれば無料のものも見つかります。わたしは多機能の画像ソフトGIMP(読みはギンプ)というものを使っています。
  • オンラインで作ってくれるサービスもあります。「ファビコン作成」などの検索をしましょう。
  • 自分が.ico以外の形式で持っているアイコンを.icoに変換してくれるサービスもあります。「ファビコン変換」などで検索してみましょう。

 ちなみに当サイトでは、普段の画像作りはAdobe社のPhotoshop Elementsで、数年前のバージョンを使っています。これで画像を作って、ファビコンにする場合は、最後にGIMPで.ico変換しています。

 

   

≫ 続きを読む

ウェブサイト用語の基礎知識   2018/10/21   mikimarche

用語解説 - Wiki (ウィキ) -

 Wikipedia(ウィキペディア)などで知られるWikiですが、文章やデータの共有に使えるシステムです。多くのファイルを処理できます。

 WikiはMySQLなどのデータベース設定を必要とせず、phpが動くシステムであれば、あとは参加者と入力手段(ブラウザ)があれば成立する、とても有意義なデータベースです。当サイトの関連サイト「バウムの書」は、入力画面を一般に公開せず運営者がひとりで内容を更新していますが、仲間を募って少人数で限定編集といったことも、技術的にはもちろん可能です。

 利点としては、反応速度がよい、入力と管理が簡単、大勢で参加できる、などがあります。
 HTMLなどに慣れている人にとっては、書き方が独特なので、文法を覚えるのに少し頭の切り替えが必要です。逆に言えばビギナーでも参加しやすくなっています。Wikiで運用するサイトを見てまわっても、データ重視であまり派手さを好まない公開事例が多いためか、デザインにあまり多様性がありません。デザインや見た目を自己流で工夫するのには、やや技術と根気が必要になるかもしれません。

 Wikipediaでの「ウィキ」の項目によると、名前はハワイの言葉に由来しているそうです。

 

≫ 続きを読む

ウェブサイト用語の基礎知識   2018/09/20   mikimarche

用語解説 - FTP -

 今日はFTPについて、書いてみます。もし簡単なホームページやブログのレンタル利用から一歩進んで、自分でレンタルサーバなどにソフトを設置する場合、必要になってくる知識です。

 FTPとは File Transfer Protocol の略で、ファイル転送のプロトコル(手順)という意味です。手持ちのファイルをレンタルサーバにアップロードしたり、あるいはパソコンにダウンロードするときに、FTPソフトを使うと簡単です。

 たとえばですが、荷物と倉庫を例にとります。

 裏の空き地に大きな倉庫を建てたとしましょう。ゆくゆくはレンタル倉庫として、利用者からダンボールが大量に送られてきます。
 倉庫を開始したばかりの段階では、自分と少人数のスタッフだけで、せっせと倉庫に入れたり、出したりすることができましたが、商売が繁盛し、たくさん送られてくるようになりました。そこで、長くからいるスタッフも、新しくやってくるスタッフも、誰でもすぐ対応できる荷ほどきと荷造りのルールを決めておくことになりました。これが決まり事(プロトコル)です。

 大きなダンボールが来たら中をどこまで開けるか、荷物をどういう順序に置くか、赤い箱と青い箱があったらどうするか、送り返してくれ(ダウンロードさせてくれ)と依頼があったら普通に詰めるか、あるいは圧縮して箱に入れるかを決めておこう——などなど、さまざまな約束事です。

 こうした約束事を理解しているFTPソフトというものを用意しておけば、パソコンとレンタルサーバ間で、ファイルを簡単に出し入れができるようになるというわけです。

 FTPソフト(FTPクライアントとも呼ばれます)には、有料のもの無料のもの、Mac用Windows用など、数多く存在しています。当サイトでは、この1年ほどFileZillaという無料ソフトを愛用しています。

≫ 続きを読む

ウェブサイト用語の基礎知識   2018/08/15   mikimarche

用語解説 - SSL -

 よく耳にするSSL(保護された通信)とは、なんでしょうか。

 SSLは Secure Socket Layer の略で、データの送受信を暗号化しておこなう手順です。こう書くと「え、わかったような、わからないような?」ということになってしまいますが、少し書いてみましょう…

 ウェブページ(ブラウザでご覧になっているこうしたページ)を、見るだけであるなら、そのページが保護されていてもいなくても、あまり大きな影響はありません。ただそのページ上にある何らかのボタンをクリックする、コメントをする、メールを送るなどの動作のとき、その人とウェブページ運営者のあいだでデータのやりとりが生じます。そのやりとりにはその人のメールアドレス、ID、パスワードなど、大事なものが含まれている場合もあるでしょう。そんな個人的なデータを横から覗いて悪用する人がいないよう、安全に保つための仕組みがSSLです。

 安全に保つ仕組みというのは…

  • まずSSLを利用したい側が、しかるべき会社や組織に自分はこれこれこういう者で、怪しくありませんと申請します(←普通は有料ですが、わたしの場合は、レンタルサーバの会社が一括してはいっているSSLのサービスを利用していますので個人で申請していませんし、有料でもありません)。
  • 申請に問題がなければ、その会社または組織から、鍵をもらいます。鍵が手にはいったら、それを使ってSSLの証明書というものを作ることができます。
  • 見に来た人のブラウザが、SSL通信を開始する際には、そこにある証明書と公開鍵を使ってサーバに「見に来たよ」と信号を送ります。その証明書に偽造や不審点がなければ、サーバとブラウザ間で、暗号化された通信をがおこなわれます。やりとりが終了するまでデータは暗号化されます。途中で盗み見る人がいたとしても、データを解読することが難しいので安全、ということになります。

 利用で注意すべき点もあります。たとえばそのサイトがSSLの証明書を持っていてURLの冒頭が https:// になっており、SSLの通信がおこなわれているかのように見える場合でも、過信はできません。よくあるのは、サイトの内部で使われている画像が自サイト以外(保護されていない場所)から呼び出している場合。これは、セキュリティとしてはランクが下がります。家の出入口は完璧に警備会社と契約していても、裏側の窓を開けているようなことにも、なりかねません。作る側も、訪れる側も、SSLという言葉を過信せず、注意を怠らないことです。

≫ 続きを読む

ウェブサイト用語の基礎知識   2018/08/09   mikimarche

用語解説 - CMS -

 ソフトウェアの仕組みや役割としては似ているSNSとCMSですが、利用者の目線で考えると、違いはどこにあるでしょうか。

 このウェブサイトを構築しているのは、CMSの一種でbaserCMSというソフトウェアです。CMSとは、コンテンツ管理システム (contents management system) の略ですが、実はソフトを設置して運営する側から考えると、仕組みとしてはけっこうSNSやブログと似ています。

 重なる部分も多くあるのですが、あくまでCMSはコンテンツ管理、つまり「手軽に見た目のよいウェブサイトを作成し、管理したい」という点に重きが置かれますので、SNSのように「参加してくれるメンバーの管理」が必要とはかぎりません。必要なのは書く側の人間(管理スタッフ)で、これは最低でもひとり登録されていれば動きます。また、CMSはブログ機能を利用せずに自分たちが伝えたいことだけ書くという選択肢もあるため、ブログのソフトとは「同じ部分もあるけれど、必ずしも同じではない」ということになります。

 CMSの例としては、このサイトが利用しているソフトbaserCMS(ベイサーシーエムエス)、本拠はアメリカですが日本語でもサポートが提供されているconcrete5(コンクリートファイブ)、会員制でログインした人にメニューを表示させることからSNSの性格を併せ持つXOOPS(ズープス)、それ以外にも多くあります。
 ブログソフトのWordPressは、かなり汎用性が高く機能拡張も可能なので、CMSとして分類されることもあります。

≫ 続きを読む

ウェブサイト用語の基礎知識   2018/08/08   mikimarche

用語解説 - SNS -

 TwitterやFacebookなどはSNSと呼ばれますが、いったいなんでしょうか。

 SNSは、ソーシャルネットワーキングサービス(このまま覚えてしまうのがよいですが、無理に説明するならば、人と人のつながりに基づき、そのつながりを支援しつつ、相互に影響を与えながら輪を広げていくサービス)です。

 TwitterやFacebookのように、誰かが発信した情報に共感していることを伝えたり(たとえば「いいね」を押す)、コメントすることで、相手の友達とも知り合いになるなどして、人間関係が広がっていきます。
 SNSが盛んになる以前には、それぞれのサイトに掲示板が設置してあるなどで、あくまでそのサイトに興味がある人同士が出会うというスタイルでした。大きなサービスを利用する人が増えて以降は、趣味が似ている人や同郷の人が集まりやすくなりました。ネットでの友達づきあいがより大きめになり、影響力も加速、増大しましたが、すべての利用者がネットの広く公的な空間にものを書いているわけではなく、友達同士でのみ閲覧できる場所や組みを利用している人も多く存在します。

 コメントなどを幅広く受けつけ、活発に活用されているブログも、ある意味でSNSです。

≫ 続きを読む

ウェブサイト用語の基礎知識   2018/08/08   mikimarche

用語解説 - php -

 html / css / MySQL につづき、php について書きます。

 PHPというのは、プログラミング言語のひとつで、Hypertext Preprocessorの略です。いまWebアプリケーションにとても多く使われています。この文章を書くのに使われているbaserCMSなど、多くのソフトがphpで書かれています。

 特徴としてはhtml形式の記述ファイル(拡張子は.php)に埋め込むことができて簡単に呼び出せること。たとえばメールフォーム、コメント投稿などです。ウェブページから呼び出したプログラムをサーバ側で動作させ、データベースと連携し、その出力結果としてhtml形式ファイルを生成してウェブ上に(拡張子は.php)表示してくれること…いや、こう書いてもよくわかりませんね。ええと、そうですね、表現を変えましょう。

ウェブページとphpの動作

  •  ガラスの箱に、注文したい商品名を書いて蓋をします。このガラスの箱が、画面に表示されているページ(html文法形式)です。
  •  蓋をすると、吸引力などの仕組みを利用して、紙がどこかへ吸い込まれていきます(phpプログラム)。
  •  吸い込まれた先で、商品手配のプログラムが動いて(プログラムの内容は見えません)、部屋のドアが開いて商品が現れ、最初のガラスの箱には明細と金額が送られてくるので、それを受けとってレジに行く。

 …こんなかんじでしょうか?

 では、ほかの言語で書かれたプログラムとどこが違うのかといいますと…いまウェブ用はほとんどがphpで書かれているので、あまり多くの事例とは、比較ができません。以前はウェブ上で動作するプログラムは広くcgiと呼ばれ、その場合はperlという言語で書かれていました。現在もperlで書かれたプログラムはあると思いますが、phpで書かれたアプリケーションの利用が増えています。
 ブラウザがあればネットにつながっていなくても楽しめるゲームはJavaScriptで書かれていることがほとんどですが、JavaScriptは画面に見えているファイルの中に、すべてのプログラムが収納されています。phpで書かれたものは、実際に動いているプログラム部分は利用者に見えず、原因(入力)と結果(出力)だけは、利用者が見られます。

 もう少しわかりやすい表現ができたら、追加編集します。

 

≫ 続きを読む

ウェブサイト用語の基礎知識   2018/08/03   mikimarche