[#2906] DLL for GNU Win32 — WATANABE Hirofumi <watanabe@...>
わたなべです.
5 messages
1997/05/06
[#2910] thread and fork — jkuro@... (Jun Kuroda)
黒田です。
15 messages
1997/05/07
[#2911] Re: thread and fork
— matz@... (Yukihiro Matsumoto)
1997/05/07
まつもと ゆきひろです.
[#2912] Re: thread and fork
— jkuro@... (Jun Kuroda)
1997/05/07
黒田です。
[#2913] Re: thread and fork
— matz@... (Yukihiro Matsumoto)
1997/05/07
まつもと ゆきひろです.
[#2914] Re: thread and fork
— jkuro@... (Jun Kuroda)
1997/05/07
黒田です。
[#3023] Re: thread and fork
— jkuro@... (Jun Kuroda)
1997/05/27
黒田です。
[#3025] Re: thread and fork
— matz@... (Yukihiro Matsumoto)
1997/05/28
まつもと ゆきひろです
[#2922] chap 1 draft #2 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
7 messages
1997/05/09
[#2936] How to create ext — Eiji-usagi-MATSUmoto <ematsu@...>
うさぎです。
8 messages
1997/05/13
[#2938] Re: How to create ext
— matz@... (Yukihiro Matsumoto)
1997/05/13
まつもと ゆきひろです.
[#2952] [BUG] Dir.glob — sinara@...
原です。おひさしぶりです。
6 messages
1997/05/16
[#2960] dl-malloc — jkuro@... (Jun Kuroda)
黒田です。
9 messages
1997/05/19
[#2978] Re: [s-lang:00052] Re: Python/Ruby Jed — MAEDA Shugo <shugo@...>
前田です。
6 messages
1997/05/20
[#3005] Matrix — MAEDA Shugo <shugo@...>
前田です。
13 messages
1997/05/22
[#3006] Re: Matrix
— matz@... (Yukihiro Matsumoto)
1997/05/22
まつもと ゆきひろです
[#3026] ruby 1.0-970528 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
9 messages
1997/05/28
[#3027] Re: ruby 1.0-970528 released
— MAEDA Shugo <shugo@...>
1997/05/28
前田です。
[#3031] Re: ruby 1.0-970528 released
— matz@... (Yukihiro Matsumoto)
1997/05/29
まつもと ゆきひろです
[#3028] Can I use non IO object for $stdout? — MAEDA Shugo <shugo@...>
前田です。
7 messages
1997/05/28
[#3030] Re: Can I use non IO object for $stdout?
— matz@... (Yukihiro Matsumoto)
1997/05/29
まつもと ゆきひろです
[#3034] Re: Can I use non IO object for $stdout?
— MAEDA Shugo <le4441ms@...>
1997/05/29
前田です。
[#3050] flock (BSD/OS 2.0 i386) — gotoken@... (GOTO Kentaro)
後藤です。
6 messages
1997/05/30
[#3055] ruby 1.0-970530 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
5 messages
1997/05/30
[ruby-list:2938] Re: How to create ext
From:
matz@... (Yukihiro Matsumoto)
Date:
1997-05-13 04:35:17 UTC
List:
ruby-list #2938
まつもと ゆきひろです.
In message "[ruby-list:2936] How to create ext"
on 97/05/13, Eiji-usagi-MATSUmoto <ematsu@pfu.co.jp> writes:
|うさぎです。
|今だまともなrubyのscriptを書いた事がないのに、rubyの拡張moduleを
|作ろうとしています。
|以外と簡単にできるので、かんどーしてます。
でしょ? 私の知っているスクリプト言語の中では一番簡単だと思い
ます.
| rb_secure(4)
|
|なんですが、これって何のために使われているのでしょうか?
これはですね.セキュリティレベルが4以上の時にはこの操作を禁
止するという意味です.たとえば,外部ファイルへの書き出しとか
を行う関数ではrb_secure(4)が入ります.dbmはファイルの書き出
しを行いますから,これが入っているわけですね.
せっかくですから,ここでセキュリティ周りに関してまとめておき
ます.
* $SAFE
セキュリティレベルを表す変数.レベルは以下の通り
0 - 外部からの文字列は汚れている(デフォルト)
1 - 汚れた文字列では危険な操作が行えない
2 - いくつかのプロセス操作が禁止される
3 - 全ての文字列が汚れる
4 - 大域変数の変更ができない/外部ファイルへの直接出力ができない
5 - インスタンス変数も変えられない
* rb_secure(int)
$SAFEの値が引数以上だと例外を発生します.このチェックを
あちこちに散りばめることで$SAFEによるセキュリティを実現
しています.
* rb_taint(VALUE)
文字列を汚します.
* rb_tainted(VALUE)
文字列が汚れている時,真を返します.
* Check_SafeStr(VALUE)
文字列が汚れていない文字列であるかどうかをチェックします.
Check_Type(value, T_STRING);
if (rb_tainted(value)) Raise(eSecurityError, "Insecure operation");
とほぼ同義です.