トップページunix
1001コメント297KB

シェルスクリプト総合 その22

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2013/11/01(金) 07:58:50.52
シェルスクリプトの総合スレです。
□お約束
・特記なき場合はBourne Shell(/bin/sh)がデフォルトです。
 bash/zsh/ksh/ashなどに依存する場合は明示しましょう。
 Linuxユーザは/bin/shの正体がbashまたはdashなので特に注意。
 FreeBSDユーザは/bin/shの正体がashなので注意。
 v7 shに一番近くて、現役のshは、OpenSolaris由来のheirloom sh。
  http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/sh/
  http://heirloom.sourceforge.net/sh.html
・csh/tcshのシェルスクリプトは推奨されません。
 (理由は「csh-whynot」でググれ)
・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。
 manや参考リンクを見ましょう。
 aproposないしはman -kでそれらしい単語による簡単な検索もできます。
・シェルで使えるワイルドカード等は正規表現ではありません。
 正規表現の話題はスレ違い(正規表現スレへ)
・シェルスクリプトのことをシェルってゆーな
□初心者へのアドバイス:
・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも
 awkまたはperlの方が適した処理にはそちらを使いましょう。
・知らないコマンドが出てきたらmanを引きましょう。
・思い通りに動かないときは、まずは sh -x でトレースしましょう。
□回答者への注意事項:
・シェルスクリプトでの処理方法を質問しているのに、よくわからずに
 「そういうのはperl使いましょう」と回答するのはやめましょう。
 安易にperlに逃げずにシェルスクリプトで処理するのが頭のいいやり方。
前スレ
シェルスクリプト総合 その21
http://toro.2ch.net/test/read.cgi/unix/1352973453/
0487名無しさん@お腹いっぱい。2014/03/11(火) 18:13:28.44
>>486
図解よろしく。
0488名無しさん@お腹いっぱい。2014/03/12(水) 08:46:30.76
tcshユーザやzshユーザはprecmd使えるから何も悩まずに出来そうなんだがなぁ…
bashでprecmdをググったらこんなのが引っかかった ttp://glyf.livejournal.com/63106.html
0489名無しさん@お腹いっぱい。2014/03/12(水) 23:40:38.94
パスワード認証のsshでログインを自動化したいのですが、どのようにすればよいでしょうか?
expectコマンドはインストールしない方法を考えています。

echo -e "password\n" | ssh -t -t root@hoge.hoge

上のスクリプトだとプロンプトが出てダメでした。よろしくお願いいたします。
0490名無しさん@お腹いっぱい。2014/03/13(木) 00:06:43.46
>>489
失礼な話だが、釣り/荒し臭い質問だな。
適当に回答させて、いつものお決まりの文を書き込むのかな?
0491名無しさん@お腹いっぱい。2014/03/13(木) 00:10:32.95
expectが何を出来るかしか知らないんだろうな。
expectが何をやってるか知っていればそんなマヌケな質問は出てこない。

回答:
expect入れたくなきゃexpectと同じ働きのプログラムを作る
0492名無しさん@お腹いっぱい。2014/03/13(木) 00:12:25.76
>>489
何故パスフレーズなし秘密鍵ではだめなの?
0493名無しさん@お腹いっぱい。2014/03/13(木) 00:17:52.08
>>492
Dockerのコンテナにsshでログインしようとしているのですが、秘密鍵を指定しても読み込んでくれずパスワード入力になりました。
それで秘密鍵なしで頑張ろうと試行錯誤している次第です。
0494名無しさん@お腹いっぱい。2014/03/13(木) 00:18:14.48
>>492
ぼくのかんがえたさいきょうのパスワードくらっかーで、にっくきあいつのホストにろぐいんしてやるんだー。
ってことだろ
0495名無しさん@お腹いっぱい。2014/03/13(木) 00:19:50.07
>>493
公開鍵方式で認証できるように試行錯誤しろよ。
0496名無しさん@お腹いっぱい。2014/03/13(木) 00:34:58.01
>>493
$HOME/.ssh/authorized_keysないし、その祖先ディレクトリの
どこかが、グループかotherに対して書き込みを許してるってのが
チョーありがち。
てゆーか、まずログを確認すべきだね。
CentOSなら/var/log/secureとか。
0497名無しさん@お腹いっぱい。2014/03/13(木) 00:54:40.58
>>496
$HOME/.sshフォルダがまるごと消えていたのが原因だったようです。。
きちんと確認しないといけないですね。ありがとうございました。
0498名無しさん@お腹いっぱい。2014/03/13(木) 01:43:17.07
何それww
0499名無しさん@お腹いっぱい。2014/03/13(木) 10:38:52.37
このスレには社史編纂室レベルの質問しかこないのか
0500名無しさん@お腹いっぱい。2014/03/13(木) 19:05:06.07
噴いた
0501名無しさん@お腹いっぱい。2014/03/14(金) 03:42:52.41
>>499
答えてるのも社史編纂室のおじちゃん達というオチか
0502名無しさん@お腹いっぱい。2014/03/14(金) 09:07:38.64
社史編纂室厨いい加減うざい
糞質問する奴ともども氏ねや
0503名無しさん@お腹いっぱい。2014/03/14(金) 09:43:44.60
bashで、プログラム実行後のカレントを保存する方法ってあります?
bashで無理ならzshとかいうやつでもいいです。
0504名無しさん@お腹いっぱい。2014/03/14(金) 10:14:10.84
老けたせいでギャグの質が低下してるのを気がつかないのだろう

社史編纂質
すみませんが詳しい方だけ答えてうんたら

これらギャグのつもりなんだろうが
面白くないし、寒いし、うざい
「ギャグは繰り返し」を勘違いしてる、寒くてうざいもんは寒くてうざい
0505名無しさん@お腹いっぱい。2014/03/14(金) 10:23:30.00
老化してるから
「ウざがられるためにやってるんですう」とか
小学生みたいにいってくるからヤメロ
0506名無しさん@お腹いっぱい。2014/03/14(金) 11:05:31.46
>>503
カレントってなに? 電流?
0507名無しさん@お腹いっぱい。2014/03/14(金) 11:37:04.63
カレントディレクトリか?
DIR=`pwd` とかそういう話かな。
0508名無しさん@お腹いっぱい。2014/03/14(金) 11:38:08.74
DIR=$PWD でいいか。
0509名無しさん@お腹いっぱい。2014/03/14(金) 11:48:40.69
>>504
> これらギャグのつもりなんだろうが
ギャグじゃなくて回答する人を弄ぶのが目的の荒しだと思うが。

> 社史編纂質
> すみませんが詳しい方だけ答えてうんたら

俺的には
「人を馬鹿にする事ばかりの虚栄心君」
もかな。
0510名無しさん@お腹いっぱい。2014/03/14(金) 11:56:21.66
弄ぶついでにギャグか照れ隠しではさむ言葉のセンスについてだろうが
0511名無しさん@お腹いっぱい。2014/03/14(金) 12:07:14.51
目的とか考えてもしょうがないよ。
それを理解できたら正気ではいられなくなる。
0512名無しさん@お腹いっぱい。2014/03/14(金) 12:16:23.40
小バカにしようとする態度は見て取れるが
書きかたが悪いせいで、そいつ自身バカに見える
0513名無しさん@お腹いっぱい。2014/03/14(金) 12:17:37.85
こんな感じの騒ぎを起こすのが目的だろ
この手のは完全スルーが一番
0514名無しさん@お腹いっぱい。2014/03/14(金) 15:39:00.00
>>489
sleep入れればおk
(sleep 3; echo -e "password\n") | ssh -t -t root@hoge.hoge
こんな感じな
0515名無しさん@お腹いっぱい。2014/03/14(金) 15:46:13.80
おっ、糞回答を自作自演してきたなw
0516名無しさん@お腹いっぱい。2014/03/14(金) 16:18:08.60
すみませんが詳しい方のみ回答をお願いします
0517名無しさん@お腹いっぱい。2014/03/14(金) 21:37:10.13
>>512
昔から言うよね バカのひとつ覚えってw
0518名無しさん@お腹いっぱい。2014/03/15(土) 17:14:02.96
シェル初心者です。

シェル実行ファイル内に、
TEMP=`コマンド結果`
の変数があって、外部ファイル(SQL文)内に同じ変数
${TEMP}
を記述して、外部ファイルを読み込ませてSQLを実行させたいのですが、
変数に値が入るような書き方が分かりませぬ。
0519名無しさん@お腹いっぱい。2014/03/15(土) 17:19:10.47
sed通すとか?
0520名無しさん@お腹いっぱい。2014/03/15(土) 17:20:44.24
>>503
その後どうすか。
0521名無しさん@お腹いっぱい。2014/03/15(土) 17:36:44.02
外部ファイルじゃなくてヒアドキュメントにするのがお手軽

予告しておこう
お前はSQLインジェクションを喰って死ぬほど後悔する。
0522名無しさん@お腹いっぱい。2014/03/15(土) 23:40:58.59
>>519
やはり置換が必要なんですかね。

>>521
ヒアドキュメントで動作することは確認できたのですが、
外部ファイルに持たせる処理をスマートにやってみたかっただけです。

セキュリティ的にまずいんですかね このやり方。
0523名無しさん@お腹いっぱい。2014/03/16(日) 00:57:51.00
>>522
回答でサニタイズが言及されていない時点で、(やり方もだが)
あなたの知識がセキュリティ的にまずいと思うわ。
SQLインジェクションは思いつきにくい方法でデータぶっこぬかれたり不正操作されるって
パターンなんで、どういう攻撃方法があるかを人とおり勉強することをオヌヌメする。
0524名無しさん@お腹いっぱい。2014/03/16(日) 03:25:40.44
SQLはプリペアードステートメント使用が鉄則なのでシェルスクリプトで
処理しようというのが間違い
0525名無しさん@お腹いっぱい。2014/03/16(日) 08:52:20.29
出た!サニタイズ!
0526名無しさん@お腹いっぱい。2014/03/16(日) 09:08:18.94
サニタイズ言うなキャンペーンはひろみちゅの(シロートが書いたセキュリティ
対策本への)言いがかりなので、適切な文脈で使うのは全く問題ない。
0527名無しさん@お腹いっぱい。2014/03/16(日) 15:41:16.64
適切な文章ではエスケープって単語が出てくるべきだしそれで十分だから、
サニタイズという単語が適切なケースなんてまず無いってのが根本にある。
劣化したエスケープにすぎないサニタイズで満足する考え方自体問題だし、
サニタイズなんて言葉使う考え方してるとそのうちエスケープ漏れで死ぬよ。

エスケープとサニタイズの関係はバグとセキュリティホールの関係に置き換えられる。
セキュリティホールとして悪用可能なバグじゃなくてもバグを肯定するのは駄目だろう。
0528名無しさん@お腹いっぱい。2014/03/16(日) 16:16:50.80
正当な文字だけで構成されていなかったら、そこでエラー終了するという方法
だってかまわない。
その場合もエスケープか? 確かにエスケープだが意味が全然違う。w

ところで、パブリックアクセス可能なdbを作成する際にセンシティブな情報や
個人情報を取り除く事もサニタイズと言うのだが、これも「サニタイズ言うな
キャンペーン」に引っかかるのかね? どうやってエスケープするんだろう。w
0529名無しさん@お腹いっぱい。2014/03/16(日) 16:59:02.56
話それまくってるな。
0530名無しさん@お腹いっぱい。2014/03/16(日) 17:17:31.70
>>528
「センシティブな文字列」というものをそもそも作り出さないのが
サニタイズ言うな運動の肝なんよ

まあシェルスクリプトだとなかなか難しい話なんだけど、
Cとかでたとえるなら
system使うとコマンドラインインジェクションの危険あるけど
forkしてexecなら原理的にインジェクションは無いでしょ?
そういう積み重ねのことね。
0531名無しさん@お腹いっぱい。2014/03/16(日) 17:26:45.65
セキュリティ言ってる人も
DBユーザの権限で制限するのあんまやんないよなぁ。
行ごとの権限ができないのはともかく。
0532名無しさん@お腹いっぱい。2014/03/16(日) 18:01:23.02
>>528
エラー終了はサニタイズしてないし、後者は単なるNGワードだろが…
システム的な意味でなら>>530だから論外だし

>>530
シェルスクリプトでエスケープとか考えたくねーわな…

>>531
たまには聞くけど ttp://blog.kazuhooku.com/2013/11/blog-post.html
よく聞く方法ではないね。レンタルサーバで1アカウントしか使えない場合を想定してるとか?
0533名無しさん@お腹いっぱい。2014/03/16(日) 18:59:34.85
>>530
>>528の後半部分の「センシティブな文字列」とはクレジット番号だったり
するわけだが

> 「センシティブな文字列」というものをそもそも作り出さないのが
> サニタイズ言うな運動の肝なんよ
クレジット番号を作り出さないとか、全く意味不明

>>532
入力された文字をサニタイズしてのではなく、入力されたデータ全部を
サニタイズしたと言っていい
0534名無しさん@お腹いっぱい。2014/03/16(日) 19:06:36.89
自分の人生をサニタイズしてみたらどうだ?
0535名無しさん@お腹いっぱい。2014/03/16(日) 19:10:20.60
自分じゃできないから誰か俺の人生をサニタイズしてくれ
0536名無しさん@お腹いっぱい。2014/03/16(日) 20:38:59.46
>>533
入力されたクレジット番号を文字列に埋め込むときに
無検査で埋め込むなってことでしょ
そのつっこみの方が意味不明
0537名無しさん@お腹いっぱい。2014/03/16(日) 20:54:14.25
>>536
>>528の後半部分は、

>>527
> 適切な文章ではエスケープって単語が出てくるべきだしそれで十分だから、
への反例として、
公開サーバに置くデータベースを作るときにセンシティブな情報や個人情報を
取り除く作業を行う。この作業の事をサニタイズという。
を例示した。この作業をエスケープとは言わない。

サニタイズはサニタイズ。エスケープでは置き換え不可能。
0538名無しさん@お腹いっぱい。2014/03/17(月) 02:01:31.22
サニタイズ(Sanitize):消毒、除菌、無害化
個人情報って毒だったのかぁ〜・・・
そういえば2chでも住所書くとドメイン焼かれてたからねぇ〜・・・

「単なるNGワードだろ」って指摘も聞かなかったことにしてるようだし、
そもそも>>518>>521>>523の文脈では個人情報の除去は関係ない
エスケープ言うべき所でサニタイズ言っちゃった典型的なサニタイズ脳

必死にサニタイズを擁護してるとこ悪いが、見てて哀れだからいい加減黙ろうか
0539名無しさん@お腹いっぱい。2014/03/17(月) 03:05:23.11
>>538
>サニタイズ(Sanitize):消毒、除菌、無害化
>個人情報って毒だったのかぁ〜・・・
知らないで使ってたのかよ

>「単なるNGワードだろ」って指摘も聞かなかったことにしてるようだし、
2ch用語じゃ無くて正式な名称で言えば相手してあげるよ

>そもそも>>518>>521>>523の文脈では個人情報の除去は関係ない
だから、「ところで」と話題変えてるだろ。
>>527は発言の有効範囲を限定してないからな。

あと、>>518質問者 >>521オレ >>523何処かの誰か
>>525キャンペーンをうのみにしてるアホ
>>526オレ
だからな、勘違いするなよ

>エスケープ言うべき所でサニタイズ言っちゃった典型的なサニタイズ脳
>必死にサニタイズを擁護してるとこ悪いが、見てて哀れだからいい加減黙ろうか
お前、やっぱりひろみちゅのキャンペーンの意図理解してないだろ。w
バカには覚えやすい標語与えといて、簡単かつ確実な方法を選択させるのが目的
エスケープする方法が与えられているバカ向けの環境でのみ成立する
0540名無しさん@お腹いっぱい。2014/03/17(月) 04:00:50.56
コイツにとってほぼ全ての実用なプログラミング言語はバカ向けの環境なのか・・・・・・
皮肉すら分らんようだし突き抜けすぎててもう感動〜!
0541名無しさん@お腹いっぱい。2014/03/17(月) 04:13:20.39
こいつパー速にいる気がする
0542名無しさん@お腹いっぱい。2014/03/17(月) 07:51:52.87
http://takagi-hiromitsu.jp/diary/20060115.html
> つまり、「サニタイズ」という用語が、各人の都合でどんな意味にも解釈され
> るという、「汚れた言葉」になっており、専門用語として使い物にならなくなっ
> ているのだ。もはや、「サニタイズする」は「セキュリティ対策する」と同義
> でしかない。そういう言葉には存在価値がない。加えて、特定の意味を指して
> 使っても別の意味で解釈されてしまうのだから、有害である。
ひろみちゅの思い込みと、思考能力がなくうのみにするバカの間でだけ通用する
言葉狩りキャンペーンって事だ

教祖様はNGワード(笑)にも言及してるな ブラックリストの事を言いたかったんだろ
> ブラックリスト方式ではなくホワイトリスト方式にせよという話だと誤読した事例
> 「/^[a-z]+$/のような正規表現」を使う手法はサニタイズ処理そのものであって、まさにセキュリティ対策のための処理である
0543名無しさん@お腹いっぱい。2014/03/17(月) 08:17:49.41
続きは社史編纂室スレでやれよw
0544名無しさん@お腹いっぱい。2014/03/17(月) 08:41:08.81
過去にひろみちゅに実名でコテンパンにやられた奴が、
逆恨みして暴れてるスレがあると聞いて飛んできますた!
0545名無しさん@お腹いっぱい。2014/03/17(月) 09:14:57.77
何も考えずにひろみちゅの尻馬に乗ちゃったバカが憐れすぎる
0546名無しさん@お腹いっぱい。2014/03/17(月) 10:50:51.11
>>533
サニタイズって言葉を再定義して使ってるのね。なるほど。
0547名無しさん@お腹いっぱい。NGNG?2BP(1000)
>>546
教祖様にいってやれよ。
つーか、お前のようなバカをサニタイズするために始まったキャンペーンだろw

http://takagi-hiromitsu.jp/diary/20060115.html
>> たとえば、データファイルのファイル名の一部をCGIのパラメータと して受け取るようになっているPerlスクリプトなら/^[a-z]+$/のような正規表
>> 現(Rubyなら\A[a-z]+\z/)で期待している文字しか入っていないこと を確認して(Perlの場合はuntaintもこれで出来る)、違っていたらエラーにする
>> というのが「 セキュリティ対策以前に元来本質的に必要な処理」だと思います。
> ブラックリスト方式ではなくホワイトリスト方式にせよという話だと誤読した事例
> 「/^[a-z]+$/のような正規表現」を使う手法はサニタイズ処理そのものであって、まさにセキュリティ対策のための処理である
0548名無しさん@お腹いっぱい。2014/03/17(月) 14:52:10.17
>>547
あなたが教祖様?
0549名無しさん@お腹いっぱい。2014/03/17(月) 15:18:06.42
いえ、社史編纂室長です
0550名無しさん@お腹いっぱい。2014/03/17(月) 20:24:54.09
社史編纂代行株式会社でも作るか
0551名無しさん@お腹いっぱい。2014/03/17(月) 23:11:30.64
なんかサニタイズとエスケープの理解度があやしくないか?

大ざっぱにいえば、
サニタイズは、不要な文字を削ること。
エスケープは、特殊な意味を打ち消すことだよ。

用途、目的がぜんぜんちがうべ。
サニタイズされた文字列に特殊な文字が含まれる事はないし、逆にエスケープされた文字列から特殊文字が消えることもない。
0552名無しさん@お腹いっぱい。2014/03/18(火) 03:27:47.75
エスケープの事をサニタイズと呼んだり
エスケープすべきところでサニタイズしたりする
>>523みたいなサニタイズ脳がわらわら居るからな

SQLインジェクションなんてエスケープ漏れの代表例出して
サニタイズすべきとか言う馬鹿を勘違いさせないためにも
サニタイズなんて単語は捨てた方が良い
0553名無しさん@お腹いっぱい。NGNG?2BP(1000)
シェルスクリプトでSQLをエスケープしてからほざけ
0554名無しさん@お腹いっぱい。2014/03/18(火) 05:31:33.51
有害なものを無害化するエスケープがサニタイジングでしょ
エスケープの一種ってことで
0555名無しさん@お腹いっぱい。2014/03/18(火) 05:40:22.48
まだやってる…
0556名無しさん@お腹いっぱい。2014/03/18(火) 06:16:47.81
バリデーション「ぼくも入れて〜」
0557名無しさん@お腹いっぱい。2014/03/18(火) 08:41:56.99
> 有害なものを無害化するエスケープがサニタイジングでしょ
> エスケープの一種ってことで
そういう定義にするのか? キャンペーンの信者 www
「エスケープ言うなキャンペーン」始めるべきですよ。ひろみちゅ先生

戻せないものはエスケープとは言わない。
0558名無しさん@お腹いっぱい。2014/03/18(火) 08:59:59.97
ん?戻せないってなんのこと?
0559名無しさん@お腹いっぱい。2014/03/18(火) 09:02:46.08
戻せなきゃSQLを実行できないだろ キャンペーン信者頭悪っ www
とっとと、SQLをシェルスクリプトでエスケープしろよ。
0560名無しさん@お腹いっぱい。2014/03/18(火) 09:12:57.21
>>557
誰と戦ってんだ?
0561名無しさん@お腹いっぱい。2014/03/18(火) 09:18:44.31
>>525とか>>527 頭の悪いキャンペーンの盲信者達
0562名無しさん@お腹いっぱい。2014/03/18(火) 10:35:22.70
浸透「遊びに来たよ!」
0563名無しさん@お腹いっぱい。2014/03/18(火) 14:42:42.83
>>558
サニタイズの用例には3つある
1、エスケープをサニタイズと呼ぶ
2、エスケープするべき文字(列)を単純に除去することをサニタイズと呼ぶ
3、NGワード同様、通過させては駄目なデータを除去・置換することをサニタイズと呼ぶ
複数の用例を区別せず「サニタイズは正しい」などと言ってると、
1の人はエスケープという概念を知りそこねて間違ったエスケープを行いエスケープ漏れを起こしやすくなるし
2の人は無意味にシステムへの入力制限やデータの損傷を起こした挙句エスケープ漏れを起こしやすくなる
そもそもエスケープをサニタイズなどと呼ぶべきではないし、3の用例もNGワードやフィルタリングと呼べばいい

この半ばスレチな話の発端である>>523はSQLインジェクションを例に出してる事から3の用例では無いんだが、
サニタイズを擁護してる人は何故かその事実やサニタイズに複数の(誤)用例があるって事実を無視したり、
あるいは複数の用例を都合よく入れ替えて話を捻じ曲げて理論展開してたりと、無茶苦茶やってんだよね
誤用した自分の擁護で捻じ曲げてんのか、高木への恨みで捻じ曲げてんのか、自覚なく捻じ曲げてるのか…
0564名無しさん@お腹いっぱい。2014/03/18(火) 14:56:36.97
>>523を擁護してるのではなくて、それに釣られて現れた盲信者をバカにしているわけだが。
0565名無しさん@お腹いっぱい。2014/03/18(火) 23:37:24.97
>>563
とりま、釣られてみる。
何度も指摘されているけれど、エスケープをサニタイズとは言わない。

全く別のものなのに同じものと理解してるのがまずい。

正規化の一種として同じとかならまだわかるけど。。。
0566名無しさん@お腹いっぱい。2014/03/19(水) 00:42:35.04
>>564
盲信云々以前に523が明らかにキャンペーン対象の典型例なんだが

>>565
563はエスケープをサニタイズと言う奴が居るとは書いているけれど
エスケープをサニタイズと言わない奴が居ることを否定はしてないぞ?
0567名無しさん@お腹いっぱい。2014/03/19(水) 03:05:59.49
だからもうFランPG・文系SEがドヤ顔でカタカナ言葉使ってたら
まず間違いなく意味わかってないってことでいいだろ
0568名無しさん@お腹いっぱい。2014/03/19(水) 08:31:58.99
正直スレチ
0569名無しさん@お腹いっぱい。2014/03/19(水) 09:27:38.19
エスケープが正しいと言ってた人
シェルスクリプトでSQLをエスケープする実例見せてよ
0570名無しさん@お腹いっぱい。2014/03/19(水) 09:28:38.92
あっと、pgbashとか飛び道具なしね
0571名無しさん@お腹いっぱい。2014/03/19(水) 09:44:45.75
悪意あるデータが混入するリスクのある状況で、
プリペアードステートメントのない言語選択するのって、
シェルスクリプトしか使えない老害ぐらいじゃねえ?

悪意あるデータは数字しか来ないと分かってる
例外的状況ぐらいしか、使う言い訳できるケースを思いつかん。
0572名無しさん@お腹いっぱい。2014/03/19(水) 10:02:06.63
結局ひろみちゅのキャンペーンはサニタイズ脳を撲滅しようとして
エスケープ脳を量産する結果に終わってしまいましたとさ。

エスケープ脳の見分け方
「サニタイズ」と唱えると楽勝で判定できる

プリペアードステートメント万能かというとそうでもない
ひろみちゅも当初は誤解してたふしもあったけど
実装によっては(例: 古めのpostgreSQL)SQLへの展開をクライアント側でやっ
てて、結局phpとかに標準で入ってるエスケープ関数と同等ってのもある
0573名無しさん@お腹いっぱい。2014/03/19(水) 10:07:34.99
おまえさんこそ、反省した方がいいよ。
それは、「プリペアードステートメントではないものを、プリペアード
ステートメントだと誤解していた」っていう例だぜ。

そいつを「プリペアードステートメント万能かというとそうでもない」と
表現しちゃうってことは、おまえさんが、プリペアードステートメントを
理解してないか、致命的に日本語が不自由か、どちらかだっていうことだ。
0574名無しさん@お腹いっぱい。2014/03/19(水) 10:25:59.42
社史編纂室は社史編纂してたらそんでええの
0575名無しさん@お腹いっぱい。2014/03/19(水) 10:57:33.54
お前の論理で言うとlibpqが
> PQprepare
> Submits a request to create a prepared statement with the given parameters,
> and waits for completion.
と「プリペアードステートメントではないものを、プリペアードステートメント
だと詐称していた」わけだが。
何かほかに質問はあるか? 無職
0576名無しさん@お腹いっぱい。2014/03/19(水) 11:13:05.60
2chスレ全体でやってる対立煽り工作がシェルスクリプトスレまでやってきた

て、ことだろう
このスレに対立楽しみたいという血気盛んな若者が居るとも思えんのだが
そうなんだろう
0577名無しさん@お腹いっぱい。2014/03/19(水) 11:15:32.60
>>575
さすが老害は時代感覚が狂ってるな。
PostgreSQL にホンモノのプリペアードステートメントがなかったのって、
PostgreSQL 7 の時代だぜ。
10年くらい前にはもうホンモノのプリペアードステートメントが入ってる。

Wikipedia ttp://en.wikipedia.org/wiki/Prepared_statement で確認しても、
ホンモノのプリペアードステートメントは server side で動くものって
書き方になってて、client side でやってる奴は emulation 扱いになってるぜ。
つまりホンモノのプリペアードステートメントじゃないってことだよ。

10年前ならともかく、いまさら PostgreSQL の過去の誤用を元に主張されても。
0578名無しさん@お腹いっぱい。2014/03/19(水) 11:23:10.35
クライアントサイドでの実装がありうるという実例だよ。
お前、全部の実装が「ホンモノのプリペアードステートメント」であることを
確認してるのか? 大変だな。 w
0579名無しさん@お腹いっぱい。2014/03/19(水) 11:29:42.17
セキュリティ気にしてる人間なら、当然チェックするだろう。
実際、クライアント側でエミュレートしているおかげで、
セキュリティホールがあったって事例はいくつもあるわけで。

そういう当たり前の作業もやらずに、セキュリティを語ってるわけ?
呆れた。

そりゃシェルスクリプトでサニタイズに問題感じないわけだ。
0580名無しさん@お腹いっぱい。2014/03/19(水) 11:36:20.42
ぷぷぷっ 矛盾してるぜ。「10年前ならともかく」な事を「当然チェック」するのか? ww

>>577
> 10年前ならともかく、いまさら PostgreSQL の過去の誤用を元に主張されても。

>>579
> セキュリティ気にしてる人間なら、当然チェックするだろう。
0581名無しさん@お腹いっぱい。2014/03/19(水) 11:48:14.19
いまでも、DB実装とライブラリの組合せによっては、
クライアント側でエミュレートするケースってのがありうるんだよ。

PHPのPDOとか、DB側でプリペアードステートメント用意してる場合には
当然使うが、用意してない場合には、クライアント側でエミュレーション
する機能がある。当然、こういうライブラリ使う場合には、そのDBで、
ちゃんとプリペアードステートメントになるか確認する必要がある。

こんなことも知らずに矛盾だと思っちゃうとか、よくセキュリティを
語る気になれるなあ。こういう奴の言ってることを間違って信じちゃう
奴がいると危険だから、ホント黙って欲しい。
0582名無しさん@お腹いっぱい。2014/03/19(水) 11:52:16.22
どっちも荒らしだから黙れ
いや独演でひとりか?
0583名無しさん@お腹いっぱい。2014/03/19(水) 11:53:30.89
こっちはどう言い訳するんだ?

>>577
> 10年前ならともかく、いまさら PostgreSQL の過去の誤用を元に主張されても。
0584名無しさん@お腹いっぱい。2014/03/19(水) 11:56:26.77
どこに説明の必要があるの?

・10年くらい前の PostgreSQL は誤用していた。
・今でもプリペアードステートメントを、「エミュレート」するケースは存在する。
 (エミュレートなので、実際にはプリペアードステートメントにはなってない)

ってだけでしょ。
0585名無しさん@お腹いっぱい。2014/03/19(水) 12:05:07.42
>>584
プリペアードステートメントではないものを、プリペアードステートメントだと詐称している実装が存在する事を知っているなら
>>573のような間抜けな発言はしない。

>>573
> おまえさんこそ、反省した方がいいよ。
> それは、「プリペアードステートメントではないものを、プリペアード
> ステートメントだと誤解していた」っていう例だぜ。
0586名無しさん@お腹いっぱい。2014/03/19(水) 12:08:06.83
誤解していたのは、当時のひろみちゅだろ。
何が言いたいのかさっぱり分からんわ。
■ このスレッドは過去ログ倉庫に格納されています