過労死事件 判例データベース 名古屋の水野幹男弁護士から提供していただいたデータベースに、一部追加・補正を加えたものです。 これ以外に原告側勝訴判決をご存じの方がおられましたら、当HP管理者までお知らせいただければ幸いです。
過労死事件 判例データベース 名古屋の水野幹男弁護士から提供していただいたデータベースに、一部追加・補正を加えたものです。 これ以外に原告側勝訴判決をご存じの方がおられましたら、当HP管理者までお知らせいただければ幸いです。
前回までは,主にクロスサイト・スクリプティングのぜい弱性とその対策について解説してきた。最終回となる今回は,クロスサイト・スクリプティング以外の「インジェクション系」ぜい弱性について解説する。具体的には,SQLインジェクション,OSコマンド・インジェクション,HTTPヘッダー・インジェクション,そしてメールの第三者中継である。 SQLインジェクション対策にはバインド変数の利用が最適 まず,SQLインジェクションから見ていこう。対策には二つの方法がある。一つは,SQLの「バインド変数(注1)」を使う方法である。バインド変数の書式はプログラミング言語によって異なるが,一例として,Perlを使った場合に,パスワード認証のSQLをバインド変数で書き換えた例を示す(図1)。 (注1) 「準備された文(Prepared Statement)」というのがJIS SQLでの用語だがあまり普及していない。バ
This document describes version 2.09 of Switch, released June 12, 2002. このドキュメントで扱っているのは2002年6月12日リリースのSwitch 2.09版です。 概要¶ use Switch; switch ($val) { case 1 { print "number 1" } case "a" { print "string a" } case [1..10,42] { print "number in list" } case (@array) { print "number in list" } case /\w+/ { print "pattern" } case qr/\w+/ { print "pattern" } case (%hash) { print "entry in hash" } case
ハッシュスライスを使うのが一般的。 @keys = qw(k1 k2 k3); @vals = qw(v1 v2 v3); @hash{@keys} = @vals; print "$key:$val\n" while ($key,$val) = each(%hash); 出力 k2:v2 k1:v1 k3:v3 @hash{'k1','k2','k3'}はリスト、($hash{k1},$hash{k2},$hash{k3})を返します。これらは左辺値でもあるので、 @hash{'k1','k2','k3'} = ('v1','v2','v3'); は以下のリスト代入と等価になります。 ($hash{k1},$hash{k2},$hash{k3}) = ('v1','v2','v3'); ハッシュスライス(もちろん配列スライスもあります)は非常に強力な機能です。 知らない人からすると「Pe
These messages are classified as follows (listed in increasing order of desperation): (W) A warning (optional). (D) A deprecation (optional). (S) A severe warning (default). (F) A fatal error (trappable). (P) An internal error you should never see (trappable). (X) A very fatal error (nontrappable). (A) An alien error message (not generated by Perl). (W) 警告 (オプション) (D) 非推奨 (オプション) (S) 重大な警告 (デフォルト)
cronは、Unix系オペレーティングシステムのジョブ管理ツールである。cronジョブ[1][2](コマンドまたはシェルスクリプト)を予約すると[3]、指定した日時または間隔でジョブを実行する[4]。cronは、主にシステムの管理・維持を自動化する目的で使用されるが、一定の間隔でファイルや電子メールをインターネットからダウンロードするなどの用途にも応用できる[5]。 cronは、反復的なタスクを予約するのに有用である。一度だけ実行するタスクの予約には、atコマンドを使用する。 名称は、「時間」を指すギリシア語の単語「chronos」に由来する[6]。 cronの動作は、crontab(cron table)ファイルで指定する。crontabは、一定のスケジュールで定期的に実行するシェルコマンドを指定する設定ファイルである。crontabファイルには、ジョブの一覧と、その他のcronデーモン
したうけプログラマのメモ 複数レコードのINSERT † あるテーブルに複数レコードをINSERTしなければいけないことがたまにあります。レコードの件数分ループして、平たいINSERT文を発行するのも一つの手段です。 しかしループしてSQL発行していると、コストも高く、何とかしてあげたくなります。 そこで、今回は複数レコードを1本のSQLにして発行するようにしたいと思いました。 DBMSは手元にあったOracle 10g expressです。 ↑ サンプルテーブル準備 † CREATE TABLE shouhin ( shouhin_code INT , shouhin_name VARCHAR(100) , shouhin_bunrui_code INT ); CREATE TABLE shouhin_bunrui ( shouhin_bunrui_code INT , shouhin_
本連載はSQLの応用力を身に付けたいエンジニア向けに、さまざまなテクニックを紹介する。SQLの基本構文は平易なものだが、実務で活用するには教科書的な記述を理解するだけでは不十分だ。本連載は、著名なメールマガジン「おら!オラ! Oracle - どっぷり検証生活」を発行するインサイトテクノロジーのコンサルタントを執筆陣に迎え、SQLのセンス向上に役立つ大技小技を紹介していく。(編集局) FOR...LOOP文を使って、いくつものSQL文でデータをINSERTしているPL/SQLプロシージャやプログラムをよく見掛けますが、実は1度にデータをINSERTする方法もあるんです。マルチテーブル・インサート(Multitable Insert)とはその名のとおり、1つのSQL文で複数の表にINSERTが可能になります。この最大のメリットは、やはりパフォーマンスです。では早速ご紹介します。 マルチテーブ
“Windows Update をしたらFlashがみれなくなった” とか、 “最新版のFlashPlayerを入れたのにみれない” とかの件。 SWFObject + IE6 IE7にての現象。 SWFObject内でのFlashPlayerのバージョン判定で、 問題のある環境だと、FlashPlayerがインストールされているのにもかかわらず FlashPlayerのバージョン値が取れず(JSからインストールが確認できず) インストールが無いものと認識してしまうためのよう。 “問題のある環境”とは こちらのページ IE7でswfobjectが動作しない件 で紹介されています。 Playerの判別をせず、単純にEMBEDしてしまえば見れるようだけど… いろいろ判別はしたい。 また、完全にアンインストールするというのが解決策のようだけど ちょっとコレは一般ユーザ厳しすぎる
Ringとは、リクルートグループ会社従業員を対象にした新規事業提案制度です。 『ゼクシィ』『R25』『スタディサプリ』など数多くの事業を生み出してきた新規事業制度は、 1982年に「RING」としてスタートし、1990年「New RING」と改定、そして2018年「Ring」にリニューアルしました。 リクルートグループの従業員は誰でも自由に参加することができ、 テーマはリクルートの既存領域に限らず、ありとあらゆる領域が対象です。 リクルートにとって、Ringとは「新しい価値の創造」というグループ経営理念を体現する場であり、 従業員が自分の意思で新規事業を提案・実現できる機会です。 Ringフロー その後の事業開発手法 Ringを通過した案件は、事業化を検討する権利を得て、事業開発を行います。 さまざまな事業開発の手法がありますが、例えば既存領域での事業開発の場合は、 担当事業会社内で予算や
HTTP Response decoded_contentをちゃんと使ってみる HTTP::Responseに格納された日本語ページをちゃんとデコードしてunicodeで持ちたかったので最初 my $body = $response->decoded_content(); ってやってたんだけど、これだとcp932 (!= Shift-JIS)でこけることが多くて、とりあえずヘッダーとMETAヘッダで見るかと思って以下のようにして、decoded_content() にcharsetが必要であれば渡されるようにした。 my %opts; if ( my $ct = $res->content_type ) { if ($ct =~ /charset=Shift_JIS/) { $opts{charset} = 'cp932'; } } if ( my $ref = $res->content
pdftotext コマンドを使用しようと思ったら、CentOS 5 では xpdf パッケージがなくなっていました。いろいろ調べてみると、xpdf から folk した poppler というライブラリに差し変わっていたようです。 しかし、poppler の RPM パッケージは入っているのですが pdftotext などのコマンドが使えません。これはライブラリのみが poppler に、コマンド類は poppler-utils というパッケージにまとまっているのでこちらもインストールする必要がありました。 # yum install poppler-utils.x86_64 xpdf 3.0 からの分岐のですが、バージョンは popller 0.5.4 となっています。PDF1.6 にも対応していましたし、コピー制限のかかっている PDF でも pdftotext でテキスト化できてし
NAME PDF::OCR - DEPRECATED get ocr and images out of a pdf file SYNOPSIS use PDF::OCR; my $p = new PDF::OCR('/path/to/file.pdf'); my $text = $p->get_ocr; EXAMPLE 2 use PDF::OCR; my $p = new PDF::OCR('/path/to/file.pdf'); my $images = $p->abs_images; # extract images, get list of paths for( @{$p->abs_images} ){ # get ocr content for each my $content = $p->get_ocr($_); print "image $_ had content: $
PerlでPOSTする必要があったので調べてみた。 HTTP::Request::CommonでPOSTするデータを用意して、LWP::UserAgentに委ねるだけ。 この連携はいつ使っても感動しますね。 use strict; use LWP::UserAgent; use HTTP::Request::Common; # POST準備 my $url = 'http://exsample.com/receive.cgi'; my %postdata = ( 'id' => 'id', 'pass' => 'pass' ); my $request = POST( $url, \%postdata ); # 送信 my $ua = LWP::UserAgent -> new; my $res = $ua -> request( $request ) -> as_string;
#contents *split関数 「1234567890,hogehoge」というカンマ区切り文字列をスプリットする。split_test.plというファイル名で作成。 #!/usr/bin/perl $mojiretu = '1234567890,hogehoge'; @ret = split(/,/ , $mojiretu); print $ret[0]."と".$ret[1]."に分割されました\n"; 上記スクリプトを実行してみる。 # perl split_test.pl 1234567890とhogehogeに分割されました 「1234567890|hogehoge」という「|」で分割されている場合は、エスケープしなくてはならない。 #!/usr/bin/perl $mojiretu = '1234567890|hogehoge'; @ret = split(/\|/ ,
この講演資料は、Jcodeの全ての事柄を網羅しているわけではありません。 現時点でJcodeを使い始める上で知っておくべき情報をまとめたものです。
なにやらB::Cというモジュールが標準でついていることを発見。このモジュールを使ってみたところ、PerlスクリプトがCのソースに変換された!!!1 Bというモジュールを使うときは、OというモジュールでB以下のどのモジュールを使うかを指定してやる。今回の場合、B::Cを使うので以下のコマンドを打つ。 perl -MO=C,-ohoge.c hoge.pl このコマンドは、hoge.plをhoge.cに変換するという意味である。-M以下に、O.pmモジュールを指定する。Cと-ohoge.cは、O.pmのimport関数に引数として渡される。 変換後のhoge.cはコンパイルしていないが、中身はなにやら物騒なCファイルだ…
大変ご無沙汰です。約1年半ぶりの更新です。 昨日、ブログを設置しているサーバでOSのアップデートに問題が発生したため、これを機に新サーバ・新OSに乗り換えることにしました。 現在のブログがマルチサイトのため、そのままでは新サーバの構築に苦戦すると予想されるため、他のブログの記事を統合しました。 統合内容は以下の通りです。 ・C-Production ・・・ メインサイトのため、他のブログを吸収して継続。 ・♪8thNote♪ ・・・ メインサイトに統合済みだったので、削除。 ・モバイル魂 ・・・ メインサイトに記事を引き継ぎ、並行稼働中。 ・無線のドキュメント ・・・ もともと閉鎖予定だったので、そのまま削除 外部SNSのアカウントについてはそのまま継続します。 今後ともよろしくお願いします。
タイトル長い。っていうかそのまんまです。 #!/usr/bin/perl use strict; use warnings; use URI; my $s = 'http://example.com/?q=%82%e2%82%e9%95v%82%c5%8aw%82%d4'; utf8::upgrade($s); my $uri = URI->new($s); my %qf = $uri->query_form; $qf{flag} = 'ON'; $uri->query_form( %qf ); my $uri_str = $uri->as_string; これ、一見すると$uri_strは http://example.com/?q=%82%e2%82%e9%95v%82%c5%8aw%82%d4&flag=ONになりそうなんですが、実際には http://example.com/?q=
やりたいことはとっても簡単なことで、googleで検索して結果を取得・表示させるだけ。 なのに文字化けしてすごい躓いたよ。。。 Mech使ってやって見ました。 use WWW::Mechanize; my $mech = WWW::Mechanize->new; my $url = 'http://www.google.co.jp'; $mech->get( $url ); $mech->success or die $mech->response->status_line; $mech->submit_form( fields => { q => 'ヤングジャンプ', } ); my @links = $mech->find_all_links( class => 'l' , ); my @texts = map { $_->text } @links; foreach my $text
Perl 5.8ではEncode.pmが標準モジュールとなり、多バイト文字を標準で簡単に扱えるようになりました。が、jcode.plやJcode.pmを用いたコード変換の経験があると、逆にこれが仇となって文字化けの嵐に遭います。(私の場合そうだったというだけで、普通はそんなこと無いのかもしれないのですが。)漸く最近になって基本的な考え方が飲み込めるようになって来たので、この辺をまとめておこうと思います。なお、本メモは新たにPerl 5.8.x的なPerlスクリプトを書く際に気をつけることをまとめたものであり、基本的には既存のスクリプトにPerl 5.8 + Encode.pmを適用するためのものではありません。また、utf8でスクリプトを書くことを前提にしています。が、どちらにせよ、この知識は参考になると思います。(たぶん。) 本文冒頭ですが、まず参照先を示しておきます。以下のドキュメント
cURL " src="/arrow.png"> libcurl " src="/arrow.png"> PHP " src="/arrow.png"> ExamplesPHP/CURL Examples Collection We try to collect examples on how to program the PHP/CURL interface here. If you have any source snippests you want to share with the rest of the world, please let us know! ExampleDescriptionAuthor
日本語コード変換ライブラリ「jcode.pl」についての解説 Last modified: 2001/01/27. jcode.pl ver2.13 対応版 目次 第 1 章 はじめに jcode.pl とは? jcode.pl の入手方法 jcode.pl の使い方 この文書についての情報 第 2 章 関数リファレンス getcode -- 文字コードを調べる convert -- 任意の文字コードに変換する xxx2yyy -- 文字コード xxx から 文字コード yyy に変換する to, jis, euc, sjis -- コード変換後の文字列を返す jis_inout -- エスケープシーケンスのセット get_inout -- JIS 文字列から、エスケープシーケンスを得る cache, nocache, flush -- キャッシュの制御 h2z_xxx -- 半角カナを、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く