1 | 2 | 3 | 4 | 5 |最初 次ページ >>
2016-05-10 08:55:02

Apacheで不要なHTTPメソッドでのアクセスを制限する

テーマ:Apache

最近はRESTなAPIなどを提供するWebサービスが増えてきたりしていますが、それでも不要なHTTPメソッドを利用させることはサービス上のリスクになるケースもあるため、制限をかけたほうが良かったりもします。

ということで、Apacheで特定のHTTPメソッドしか利用させない方法のまとめです。



Apacheで特定のHTTPメソッドを利用できなくする


制限方法は、Apacheの設定ファイル(/etc/httpd/conf/httpd.confなど)に下記のようにLimitExceptディレクティブ を追加します。


<Directory "/path/to/apache/docroot">
  AllowOverride All
  <LimitExcept GET POST>
     Order deny,allow
     Deny from all
  </LimitExcept>
</Directory>

上記の制限をかけることでApacheのドキュメントルート以下に対してGETとPOSTのHTTPメソッドしか受け付けなくなります。

Locationディレクティブ内に記述することも可能ですので、その他の制限事項とあわせて書き方を選ぶと良いかもしれません。


また、Limitディレクティブ でも制限を掛けることはできるようですが、こちらはマニュアルに記載のとおり対象のメソッドにのみ制限を書けるため、書いていないメソッドの制限がスルーされてしまいます。

LimitExceptは書いているメソッドに対して制限をかけるのでそれ以外のメソッドを受け付けないという書き方ができます。


制限がうまくかけられたかは他のサーバーなどからcurlコマンドなどを使って実際にそのHTTPメソッドでアクセスして反応を確認するのがよいでしょう。


・ 利用可能なGETメソッドを使ってアクセスしてみる


$ curl http://foo.example.com -X GET

<html>
<head>
<title>Your Site</title>
</head>
<body>
hello wolrd!
</body>
</html>

・ 利用できないPUTメソッドを使ってアクセスしてみる


$ curl http://foo.example.com -X PUT

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /
on this server.</p>
</body></html>

アクセスできない場合、403(Forbidden)が返って来て制限できていることがわかります。


ただ、この方法ではTRACEメソッドは制限できません。

GETメソッドを許可するとTRACEも許可されてしまうようです。

TRACEメソッドを制限かけたい場合は以前に書いた「ApacheでTRACEメソッドを受付けなくする 」を参考にしてみてください。




いいね!(17)  |  コメント(2)  |  リブログ(0)
2016-05-08 15:10:12

Datepickerで日付を連続して選択できるようにする

テーマ:JavaScript

jQueryUIのDatepicker ってカレンダー表示にとても便利ですよね。

そのまま使う分にも大体の場合は問題ないのですが個人的にカレンダーから日付を選択した際にカレンダーが閉じてしまうのが不便と思うことがあり、閉じずに連続して日付を選択するようなことが出来ないかを調べてみました。



Datepickerで日付を連続して選択できるようにする


カレンダーから何らかの候補日を選択するとして、それが1つの場合はカレンダーを自動で閉じてくれたほうが面倒がなくてよいのですが、複数の候補日を選択したいといった場合にいちいちカレンダーが閉じてしまうのはユーザーにとって返って面倒になったりします。


日付を選択してカレンダーを閉じさせない方法として一番手っ取り早い方法は、Datepickerをインラインで表示することのようです。

デモ でも確認することができます。

ただ、インライン表示するとデザインの都合などでカレンダーが返って邪魔というケースもあると思うので、カレンダーをオーバーレイ表示しつつ日付を選択しても閉じないようにする方法を調べてみると、下記のサイトが参考になりました。


jQuery Datepicker: Prevent closing picker when clicking a date


幾つか対応方法が記載されていますが、個人的にjQueryUI本体に手を入れるのは避けたかったり、内部処理をオーバーライドするのはjQueryのバージョンの違いからかうまく動作せず、手っ取り早い方法として下記のonSelectオプションにインライン表示(オプション)を切り替える処理で逃げました。


$(function(){
    $("#myCalendar").datepicker({
        showOn: 'both',
        dateFormat: 'yy/mm/dd',
        changeYear: true,
        changeMonth: true,
        yearRange: 'c-5:c+5',
        showButtonPanel: true,
        onSelect: function (dateText, inst) {
            inst.inline = true;
        },
        onClose: function (dateText, inst) {
            inst.inline = false;
        }
    });
});


onSelect(日付を選択した)実行時に内部のインラインオプションをtrueに切替、onClose(カレンダーを閉じた)実行時に元に戻すという処理を追加しています。

Datepickerの内部処理としてインライン表示のフラグが立っていればカレンダーを閉じないようで(インライン表示をしているのでカレンダーを閉じる必要がないということでしょうけど)、それを逆手に取った処理になっています。


ただ、問題はshowButtonPanelオプションを有効にし、今日(Today)や実行(Done)ボタンを表示している場合、日付選択時に実行ボタンが消えてしまうという不具合が出てしまいます。

インライン表示している場合、元々実行ボタンは表示されない仕様のようで、フラグを変えた瞬間に非表示になってしまいます。

元々カレンダーはフォーカスを外すと自動的に消えてくれる仕様になっているので、個人的には実行ボタンを最初から表示しないようにCSSで対応することにしました(今日ボタンは表示したままにする)。


<style>
    button.ui-datepicker-close {display: none;}
</style>


今日ボタンさえいらないということであれば、showButtonPanelオプションをfalseにして消してしまったほうが手っ取り早いかと思います。





いいね!(6)  |  コメント(0)  |  リブログ(0)
2016-04-18 08:57:46

強いカラダ・ココロ・アタマをつくる はたらく人のコンディショニング事典

テーマ:
強いカラダ・ココロ・アタマをつくる はたらく人のコンディショニング事典 (ビジネスライフ)/著者不明
¥1,598
Amazon.co.jp


昔は健康のことなんてこれっぽっちも考えていなかったんですけど、歳を取ってくるとやはりそうもいかないわけで、別に健康志向というわけではないんですけど「なんか体が重い」とか「体調が悪くなることが多くなった」というようなことが実体験として出てくるのでどうしても考えたくもなったりもします。


この本では体調管理のための食事や体の鍛え方に加えて頭の鍛え方として記憶力や能力を最大限引き出すための生活習慣、メンタルの鍛え方やポジティブ思考の作り方などにも触れられています。

食事やダイエット、睡眠のことなどにも触れられているので悩んでたり興味を持つ人は多いんではないかなと思います。

「あーそれ聞いたことあるわ」ってこともあるんですけど、科学的な解説もきちんとされていて理由もわかって納得しならが読めるのではないかと思います。


やはり歳を重ねると若いころのような勢いで一日を押し切ることも難しかったりしますし、その日の体調が仕事のパフォーマンスに与える影響ってかなり大きくなってきたりもします。

ただ、健康って歳のせいというよりはそれまでの不摂生や健康に対して正しい知識を持っていないことの積み重ねが体にのしかかってきて発生するんだなとか思ったりもします。

ってことで、正しい知識をもって生活習慣を改めて見直してみて自分のパフォーマンスを高いところで維持し続けられたらなと読み終わって感じています。



目次


第1章 カラダを鍛える37のヒント
1 疲れはどこからやってくる?
2 目の疲れをとる
3 休日の寝だめに効果はあるのか
4 いったい何時間睡眠がよいのか
5 睡眠の質を上げる方法
6 徹夜明けや睡眠不足な1日の乗り越え方
7 あなたは朝方体質?それとも夜型体質?
8 日の光を浴び、体内時計をリセットする
9 美容・健康・快眠に重要なメラトニン
10 気持ち良く眠りにつくには
11 体温をコントロールして眠りを操作する
12 寝不足は肥満のもと
13 ビタミンB1をとって疲労回復
14 二日酔いにならない飲み方
15 二日酔いになってしまったときの対処方法
16 夏バテ対策
17 夜遅い食事は肥満と疲れのもと
18 早食いの人は肥満になりやすい
19 水はたくさん飲めば飲むほど体にいい?
20 胚芽米でかしこく栄養をとる
21 「ローフード」をとり入れてみる
22 日本食には健康的な欠点がある
23 「食物不耐症」を知る
24 禁煙ができない人は・・・
25 簡単栄養バランスチェック
26 忙しいビジネスパーソンの外食メニュー
27 「歳のせいかな」と考えてしまいがちなこと
28 コーヒーは身体にいい
29 ファーストフードは食べ過ぎない
30 油について正しい知識を持っておく
31 いくら食べても太らない体になりたい
32 鍛えていく体の順番
33 上半身を鍛える
34 美しい姿勢をキープするには
35 「超回復」を利用する
36 つらい腰痛解消方法
37 肩こり解消法

第2章 アタマを鍛える21のヒント
1 前向きな考えが脳を活性化する
2 イメージトレーニングのすすめ
3 良い恋愛・付き合いは脳の処理能力を上げる
4 「ながら活動」は脳を疲れさせる
5 感謝の気持ちが脳機能を上げる
6 アウトプットで記憶力が増す
7 家事で脳を鍛える
8 直観力を磨くには
9 身の回りを整理することで、脳を整理する
10 情報のインプットと記憶の定着
11 脳の疲れを取り、眠気をなくす
12 上手な仮眠のとり方
13 睡魔に打ち勝つ
14 睡眠不足がイライラをつくる
15 短時間睡眠を続けると・・・
16 午前中の仕事能率は朝食で決まる
17 理想の朝食メニュー
18 アミノ酸でやる気と集中力を高める
19 自分の身体や気持ちの状態に気づく
20 身体疲労と脳疲労の違い
21 脳はいくつになっても成長できる

第3章 ココロを鍛える16のヒント
1 感情の整理には香りが効く
2 歌うことには心の浄化作用がある
3 気晴らしや快楽とは適度な距離で付き合う
4 笑顔が感情を整える
5 緊張状態を和らげる
6 深い呼吸で心を落ち着かせる
7 自律訓練法
8 筋弛緩法
9 ABCDE理論
10 「いい人」をやめてみる
11 責任感も他人からの評価も7割くらいがちょうどいい
12 「メンター」と「ウィーク・タイズ」に相談をする
13 やる気を出す目標の立て方
14 やる気物質、ドーパミン
15 最も効果的なストレス発散法
16 イライラやクヨクヨがなくなる方法


いいね!(41)  |  コメント(0)  |  リブログ(0)
1 | 2 | 3 | 4 | 5 |最初 次ページ >>

AD

Amebaおすすめキーワード

Ameba人気のブログ

Amebaトピックス

ランキング

  • 総合
  • 新登場
  • 急上昇
  • トレンド

ブログをはじめる

たくさんの芸能人・有名人が
書いているAmebaブログを
無料で簡単にはじめることができます。

公式トップブロガーへ応募

多くの方にご紹介したいブログを
執筆する方を「公式トップブロガー」
として認定しております。

芸能人・有名人ブログを開設

Amebaブログでは、芸能人・有名人ブログを
ご希望される著名人の方/事務所様を
随時募集しております。