Home > アーカイブ > 2008-01

2008-01

給与所得の源泉徴収票等の法定調書

この記事の所要時間: 114

今年も給与所得の源泉徴収票等の法定調書提出の季節がやって参りました。

結局今年も自分でやる羽目になったので、手順やらをメモしときます。

提出書類

  • 給与所得等支給状況内訳書[税務署]
  • 給与所得の源泉徴収票[市区町村に2枚、税務署に1枚、給与受給者に1枚]
  • 給与所得の源泉徴収票等の法定調書合計表[税務署]
  • 給与支払報告書[市区町村]

・給与所得等支給状況内訳書

国税庁のサイトからExcelファイルをダウンロードして作成しました。

セル内に必要な内容を入力すると合計値などは自動計算してくれるので便利です。

・給与所得の源泉徴収票

税務署から送付されてきた用紙に記載して作成しました。この用紙は4枚でワンセットとなっており、一枚目にボールペンで記載すると以降3枚にカーボンコピーされます。

念のためe-taxソフトで作成しておいて、その内容を書き写しました。

4枚の内、上2枚を受給者(給与を貰う方)の市区町村へ、1枚を税務署へ、1枚を受給者へ提出します。

・給与所得の源泉徴収票等の法定調書合計表

e-taxソフトで作成しました。給与所得等支給状況内訳書で作成した内容を入力するだけでokでした。

・給与支払報告書

税務署から送付されてきた用紙に記載して作成しました。受給者の市区町村へ提出します。

やれば

簡単なのですが(少人数なんでw)、年一回だと忘れるので。さあ来月は確定申告だ。。。

CakePHP 管理者サイトでBasic認証を簡単に行うコンポーネント

この記事の所要時間: 226

CakePHPの管理者向けサイトにBasic認証を簡単に追加するコンポーネントです。

1.2系で動作しますが、ちょこちょこっといじれば1.1でも動くかと。

1. Routing.adminを有効にする

そもそもこれをやらないと意味がありません。[app/config/core.php]でRouting.adminを有効にします。

これにより[http://example.com/admin/~]のURLで管理者用アクションにアクセスできます。

   Configure::write('Routing.admin', 'admin');

2. 認証コンポーネントを設置

認証コンポーネントを[app/controllers/components/admin_auth.php]に設置します。

[2008/05/29] 継承元をComponentからObjectへ変更しました。(janさんありがとうございます!)

<?php
class AdminAuthComponent extends Object {
  /**
   * before filter
   */
  public function startup(&$controller) {
    if (!preg_match("/^" . Configure::read('Routing.admin')  . "_/i", $controller->action)) {
      return;
    }

    $user = env('PHP_AUTH_USER');
    $pass = env('PHP_AUTH_PW');

    if (empty($user) || empty($pass)) {
      $this->unauthorized($controller);
    } else {
      if (!$this->auth($user, $pass)) {
        $this->forbidden($controller);
      }
    }
  }

  /**
   * unauthorized
   *
   * @param  object Controller $controller
   */
  protected function unauthorized($controller) {
    header("WWW-Authenticate: Basic realm=\"Please Enter Your Password\"");
    $controller->redirect(null, 401, false);
    echo "Authorization Required";
    exit;
  }

  /**
   * forbidden
   *
   * @param  object Controller $controller
   */
  protected function forbidden($controller) {
    $controller->redirect(null, 403, false);
    echo "Authorization Required";
    exit;
  }

  /**
   * auth
   *
   * @param  string $user
   * @param  string $pass
   * @return boolean
   */
  protected function auth($user, $pass) {
    $hash = sha1($user . $pass . Configure::read('Security.salt'));
//debug: var_dump($hash);
    return $hash === ADMIN_AUTH_HASH;
  }
}
?>

3. AppControllerで読み込む

AppControllerの$componentsでAdminAuthComponentを読み込むだけでokです。これで[/admin/]なURLにアクセスされるとBasic認証を行い、認証が通った場合のみアクションを実行します。

<?php
class AppController extends Controller {
  public $components = array('AdminAuth');
}
?>

認証情報

上記ソースでは簡易的にユーザ名+パスワード+Security.saltでsha1ハッシュを生成して、それを定数ADMIN_AUTH_HASHと比較して認証を行っています。

ADMIN_AUTH_HASHは[app/config/core.php]等で定義しておけばokです。

ちなみにハッシュ値を簡単に作成するには、AdminAuthComponent#auth()でコメントアウトしているvar_dump()を有効にします。これでブラウザからアクセスしてユーザID・パスワードを認証ダイアログで入力すればハッシュ値が出力されます。

ハッシュ生成後はvar_dump()の行は削除する or コメントアウトするようにしましょう。

拡張とか

ここでは単純な実装になっていますが、AdminAuthComponentを変更すれば以下のような拡張が考えられます。

  • ハッシュ値では無くDBの値で認証
  • HTTPからのアクセスはHTTPSへリダイレクト
  • Basic認証を他の認証に変更

ちなみにRouting.adminのURLは単純にapache側で認証をかけるとすり抜けられる可能性があります。(@see:CakePHP URLマッピング修正パッチ)

このコンポーネントを使えばいかなるURLでアクセスされても、管理者用アクションを(初回)実行する際は認証を通過させることができます。

2007年ふりかえり&2008年は

この記事の所要時間: 453

あけましておめでとうございます。本年もよろしくお願いいたします。

年は明けてしまいましたが、自分のため;-)に2007年のShin x blogをふりかえってみます。

2007年は自分にとって大きな出来事が多くありました。これまでただ想像することしか無い世界を体験することができました。

CakeInfo

名前そのままでCakePHPのMVC等の設定内容をphpinfo()風に表示するスクリプトです。

これまでblogでは幾つかのTipsをソース付きで書いていたのですが、名称を付けてライブラリ・パッケージとして公開したのでは初でした。

sdozonoさんに英語記事で取り上げて頂いたおかげでCakePHP本家コミュニティでも紹介されました。海外のサイトで取り上げられたのは新鮮で嬉しかったです。

スクリプトを設置するだけで使えるので一度お試しを。

PEAR::Services_Rakuten

楽天ウェブサービスAPIをPHPから利用するPEARパッケージです。

PHPユーザとしてはいつかPEARパッケージを作りたいという思いがあったので、非公式ながら実際に形にできたのは良かったです。

楽天ウェブサービス自体が更新されていっているのでそれに伴いメンテナンスを続けています。

Twitter検索

Twitterでの投稿を検索するウェブサービスです。

Twitterをはじめた当初から海外に検索サービスがあったのですが、日本語が通らない・パフォーマンスが悪い状況でした。ちょうどCakePHPでサービスを作ってみたかったので軽いノリでパパッと作りました。

正直ここまで皆さんに使って頂けるサービスになるとは想像もしていませんでした。:-DニュースサイトやPC系雑誌、書籍等々で紹介して頂いたのも貴重な経験でした。

アクセス増・データ増により改良を続けていっています。

CakePHPガイドブック

CakePHPの解説本を共著で執筆しました。

初めて自分の書いたモノが出版されるということでとても貴重な体験でした。

システム開発というのは業界外の人にはなかなか理解されないのですが、そういった人にも示せる成果が上げられたのはとても大きかったです。(システムとは無縁な両親が喜んでくれたのが嬉しかったり;-))

またこういった機会があれば取り組んでみたいと思います。

勉強会

1月に参加したPHPセミナーを筆頭に幾つかの勉強会に参加しました。今年はただ参加するだけでなく設営のお手伝いから、開催する側・発表する側を経験できました。

勉強会での様々な出会い・触れ合いは日常には無い大きな刺激を受けました。こういった所での刺激がblogやサービスなどに生かされ、さらにそれにより勉強会に参加するという良い循環がありました。

あと仕事で上京する機会が増えたのも、イベントへの参加を促してくれました。

2007年は勉強会参加への心理的な障壁が大きく下がりました。今後も色々な勉強会・イベントに参加していきたいと思います。

SBM数・購読数

2006年から比べると見て頂く・反応して頂くことがかなり増えました。

購読数が3ケタとかホッテントリに入るとか全く別世界の事だと思っていたので、今冷静に振り返るとよくここまで来れたなーと思います。もちろん上から見れば全然大したことないですが、一年前の自分からすれば信じられない数字です。

これはほんと見て頂いてる方々に感謝感謝です。

2007年は

「出会い」の年でした。本・サービス・ライブラリとの出会いもありますが、blog・twitter・勉強会・イベント・仕事等々で例年に無いくらい多くの方との出会いがありました。(それまでの出会いが少なすぎたという話しもありますが:-p)

こういった出会いが派生していって、上で挙げたような成果が現れてきたのかなと思います。

今後もこういった「出会い」は継続していきたいです。

2008年は

これまで作ってきたモノを発展させつつ、さらに新たなサービス・システムを作っていきたいと思います。具体的にはオープンソースシステムを何か公開したいです。

あと近いところではTwitter検索のパフォーマンス改善がほぼほぼ落ち着いたので、携帯からの検索とかも実装したいですね。

勉強会やイベントにももっと参加していきたいです。東京のイベントももちろんですが、関西のイベントも盛り上げていきたいですね。できれば海外のイベントにも行ってみたいです!(パスポートすら持ってませんが…)

というわけで、勉強会等で会う方、サービス・ライブラリを利用して頂いている方、blogを読まれている方、皆さん今後ともよろしくお願いいたしますー。

Home > アーカイブ > 2008-01

検索
フィード
メタ情報

Return to page top