[#19079] reference of object — "Hideaki Takata" <hideakit@...3.dion.ne.jp>
高田です。
[#19082] TermIO for ioctl — Shugo Maeda <shugo@...>
前田です。
前田です。
原です。
こんばんは。三並です。
[#19086] iconv wrapper — nobu.nakada@...
なかだです。
いがらしです。
なかだです。
いがらしです。
高橋征義です。思い出したのでこちらにもフォロー。
knuです。
高橋征義です。Rubyとは直接関係なくてすみません。
[#19115] eRuby を題材にしたページ — TAKEUCHi Kahori <take-k@...>
たけうちです。今日はちょっと宣伝させてくださいまし。
[#19139] 簡易プリプロセッサ epp 0.1 — SASAKI Shunsuke <ele@...17.odn.ne.jp>
どうも。佐々木です。
どうも。佐々木です。
なひです.
助田です.
なひです.
[#19140] ruby は何かの略語? — Noritsugu Nakamura <nnakamur@...>
[#19142] Win32OLE on NT — Masaki Suketa<CQN02273@...>
助田です.
[#19165] how to get extended modules list — Dai <MAP2303@...>
[#19193] Japanese Regular Expression — Hiroyuki KUROSAKI <noir@...>
はじめまして。黒崎と申します。最近 Ruby を使いはじめました。よろしく
In message "[ruby-list:19193] Japanese Regular Expression"
gotoken さん、お返事ありがとうございます。
まつもと ゆきひろです
安達@沖データと申します。
[#19197] GC and IO on SunOS-4.1.4-JLE — kjana@... (YANAGAWA Kazuhisa)
うちの FreeBSD 3.1 では問題無いようなのですが,出先の SunOS-4.1.4-JLE
えぐち@エスアンドイー です。
[#19211] Clipbord を Ruby で使うには? — Itou-T15@...
初めまして。
どぉも、道村です。
[#19228] Ruby 1.4.3 — Yukihiro Matsumoto <matz@...>
Ruby 1.4.3 is out, check out:
[#19240] emacs の ruby モードについて — nakajima kengo<ringo@...>
[#19241] thread を使った socket について — yuuichi satoh <yuuichi.satoh@...>
こんばんわ、佐藤といいます。
[#19246] 破壊的イテレータ? — Hiroshi Saito <HiroshiSaito@...>
どうも、お世話になっております。サイトウです。
青山です。
青山です。
サイトウです。
In message "[ruby-list:19278] オブジェクトの代入について"
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
ごとけんです
荻野ともうします。
ごとけんです
ごとけんです
[#19249] ruby story ? — "Kikutani, Makoto" <kikutani@...>
Maya Stodteつー人からRuby storyについて話を聞きたいのだが、
In message "[ruby-list:19249] ruby story ?"
いがらしです。
あおきです。
まつもと ゆきひろです
[#19283] Ruby 1.4.3 repacked — Yukihiro Matsumoto <matz@...>
Ruby 1.4.3 is out, check out:
[#19304] about -T option on ruby 1.4.2 — nakajima kengo<ringo@...>
[#19399] 改行コード — Akihiro Yamauchi <aygoofy@...>
こんばんは。
[#19420] xtoolkit — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。
[#19441] 自動翻訳プロジェクト — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
青山です。
青山です。
まつもと ゆきひろです
まつもと ゆきひろです
青山です。
[Sub] [ruby-list:19515] Re: 自動翻訳プロジェクト
高橋征義です。
まつもと ゆきひろです
高橋征義です。
石橋"rubyholic"秀仁です。
まつもと ゆきひろです
高橋征義です。
青山です。
高橋征義です。
[#19442] ClipBoard I/O 対応 — Itou-T15@...
クリップボードI/O はたいていファイルI/Oの様に抽象化されていないが
ただただしです。
まつもと ゆきひろです
たかたです
なひです.
まつもと ゆきひろです
石橋秀仁です。
>でも、JavaのRunnableを考えると、interfaceは「お作法」だと思います。。。
[#19444] 「 (」を使う時の正規表現について — yuuichi satoh <yuuichi.satoh@...>
こんにちわ佐藤といいます。
[#19456] mod_ruby & eRuby — Wakou Aoyama <wakou@...>
青山です。
mod_ruby初心者の高橋征義です。
前田です。
高橋征義です。
青山です。
前田です。
青山です。
前田です。
青山です。
前田です。
青山です。
[#19484] Ruby Application Archive — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
まつもと ゆきひろです
助田です.
[#19533] Windows環境 — "Shigeo Kobayashi" <shigeo@...>
小林です.
[#19544] String#shift? — Kazuhiko Izawa <izawa@...>
井澤です。rubyにはいつもお世話になってます。
こんばんは。鈴木教郎です。
[#19549] RubyRing — TAKEUCHi Kahori (竹内かほり) <take-k@...>
たけうちです。
[#19576] X application on gtk application — gotoken@... (GOTO Kentaro)
ごとけんです
やすしです。
石橋秀仁です。
[#19578] ruby-list の過去ログの作り方 — Momotaro Nishiumi <momotaro@...>
はじめまして。ももたろといいますm(_ _)m
原です。
こん○○は〜。ももたろです。
原です。
まつもと ゆきひろです
青山です。
In message <199912172303.IAA02733@hoyogw.netlab.co.jp>
原です。
石橋秀仁です。
原です。
有馬です。
青山です。
やまぐちです。
原です。
やまぐちです。
[#19593] SMF class 0.3 — Tadayoshi Funaba <tadf@...>
ふなばです。
[#19652] Q: Kernel#gets — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp>
越水です。
[#19656] ftpmirror — Akihiro Yamauchi <aygoofy@...>
こんばんは。
もりきゅうです。
[#19667] RAA category field — Masaki Suketa<CQN02273@...>
助田です.
[#19677] Mutex#synchronize — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp>
越水です。
有馬です。
越水です。
[#19679] Q: 破壊的メソッドの定義のしかた — Yukihiko Eda <yuki-e@...>
えだです。
[#19690] Book : rb_obj_call_init() — "Shigeo Kobayashi" <shigeo@...>
小林です。
小林です。
小林です。
[#19742] media watch — Noritsugu Nakamura <nnakamur@...>
[#19776] [mswin32] TCPSocket::new() raises Errno::ENOENT — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです.
小田@QNES です。
小松です。
小松です。
小田@QNES です。
まつもと ゆきひろです
小松です。
[#19821] Cygwin 版 ruby の File#read について — one@... (Hajime Tanno)
はじめまして、丹野@筑波大です。
[#19827] can not pass make test on cygwin — kusano@...
草野@構造計画です。
[#19846] ++ -- — "Shigeo Kobayashi" <shigeo@...>
小林です。
[#19871] 半開区間指定 — Itou-T15@...
文字列や配列の半開区間の指定例が Rubyの本やユーザーズガイド
[#19886] c-style for CC Mode — gotoken@... (GOTO Kentaro)
ごとけんです
[#19910] 演算子とスペース — Matsuo Hisanori <hisanori@...>
松尾です。
[#19927] array + empty string — MORITA Atsushi <moritaa@...>
森田です。
[#19933] [book] — Kazuhiro Nishiyama <nishiyama@...1.tiki.ne.jp>
こんばんは、ZnZです。
[#19934] RD with method index (again) — Koji Arai <JCA02266@...>
新井です。
まつもと ゆきひろです
新井です。
Toshです。
新井です。
Toshです。
あおきです。
Toshです。
あおきです。
Toshです。
Toshです。
新井です。
Toshです。
新井です。
Toshです。
Toshです。
新井です。
Toshです。
新井です。
Toshです。
新井です。
Toshです。
あおきです。
Toshです。
新井です。
Toshです。
新井です。
なかだです。
Toshです。
なかだです。
Toshです。
なかだです。
Toshです。
なかだです。
Toshです。
なかだです。
Toshです。
[#19953] メソッド名の制限? — "Hideaki Takata" <hideakit@...3.dion.ne.jp>
たかたです
[#19976] Tell me your favorite tools — Yasushi Shoji <yashi@...>
やすしです。
やすしです。
さくです。
ごとけんです
In article <200003161743.CAA01729@hanare00.math.sci.hokudai.ac.jp>,
Toshです。
[#19983] net/* 1.1.3 — Minero Aoki <aamine@...>
あおきです。
[#19993] about for-in — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp>
越水です。
[ruby-list:19318] Re: about -T option on ruby 1.4.2
まつもと ゆきひろです
In message "[ruby-list:19304] about -T option on ruby 1.4.2"
on 99/12/09, nakajima kengo <ringo@hompo.co.jp> writes:
|ruby 1.4.2 における、セキュリティチェック機能について、
|質問させてください。
| ふと、誰でもがrubyで遊べるWebページを作ろうと思いたって
|
|http://eco.hompo.co.jp/~ringo/hack/rubyonline/ruby.cgi?code=print%20%22Hello%20World%22
|
|みたいなページ(CGI)を作ってみたのですが、そのページの
|安全性を知りたいのです。
| CGIの中身を単純に説明すれば、ユーザーからスクリプトを
|受けとってサーバーでrubyインタプリタに渡すだけの単純なものです。
うーん、任意のRubyコードを実行できるCGIなんですね。危険だ。
|もちろんそんなことをすればセキュリティ的に大問題なので、
|ruby -T3 しています。-T4にしないのは、標準出力に出力させ
|たいからです。
自分で作っといてなんですが、-T3 はあまり意味のあるレベルでは
ないです。-T1 が「普通の」CGI用、-T2,-T3 は飾り(あんまりだ)
で、-T4が任意のRubyコードを安全に実行できる(ようにしたい)と
いうレベルです。
標準出力に出力させたいと言うことですが、それも十分に危険なの
で、安全のためには以下の手順が良いのではないかと思います。
* 全体は-T1
* ユーザからのリクエストをファイルに書き出す
* $>を適切に設定する
* 新しいスレッドを起動
* スレッド内で $SAFE=4
* スレッド内で loadの第2引数をtrueにしてユーザリクエストを
ロード
以下のような感じかなあ(試してません)。
require 'thread'
user_program = CGI["script"].join
path = "/tmp/script#{$$}"
f = open(path, "w")
f.print user_program
f.close
Thread.current["defout"] = $>
queue = Queue.new
def <<queue
alias write push
end
Thread.start do
defout = $>
loop do
defout.write queue.pop
end
end
$> = Object.new
class << $>
def write(str)
Thread.current["defout"].write(str)
end
end
Thread.start do
Thread.current["defout"] = queue
$SAFE=4
load(path, true)
end
File.unlink(path)
なんか複雑ですね。ライブラリを作った方が良さそうだなあ。
|もちろん、根本的に危険なことはするな、と言われそうですが、
|それでも、なぜ危険なのか、を知りたいのです。
つまり、-T3レベルでの危険性についてですね。-T3では入出力が禁
止されませんから、
* 情報の漏洩
が考えられます。nobodyが読みだせる範囲内のホスト上のファイル
の内容などを読み出されてしまう可能性があるわけですね。-T3で
はuntaintが使えますから、プログラムを解放してしまうと汚染モ
デルによる防御は無効です。
うーん、-T3でuntaintを禁止すれば良いのかな、ちょっと考えてみ
よう。いずれにせよ、セキュリティモデルは完全性が保証されてい
ませんから、いくばくかの冒険になります。が、私としては経験を
積みたい分野なのでチャレンジは大歓迎です。
まつもと ゆきひろ /:|)