「モバイルオーダー」悪用、1万円超の弁当代を58円で不正決済…23歳の無職男を容疑で逮捕
決済システムが脆弱すぎだろ?
よくこんな作り方で普及させたな?インド人か?
C言語なら俺に聞け 164
156デフォルトの名無しさん (ブーイモ MM4f-ACTV)
2025/11/14(金) 10:11:22.08ID:j5Ukc9dzM157デフォルトの名無しさん (ワッチョイ ff10-DX0k)
2025/11/14(金) 11:20:09.02ID:H7qd0VM/0 一万円の弁当か、食べてみたい
払う気はないけど
払う気はないけど
158デフォルトの名無しさん (ワッチョイ 1f2f-5yZn)
2025/11/15(土) 03:54:57.59ID:61X/lnkN0 あら C99で空宣言使えなくなった?
typedef enum {} PINSTATE;
typedef struct s_pinobj {
bool(*sequence)(struct s_pinobj * obj);
uint16_t tickcount; // 10ms ticking
PINSTATE state;
.
.
} TXXX;
などと使っていたんだけど、エラーになるようだ。
循環参照対策はどうするんだろ?
typedef enum {} PINSTATE;
typedef struct s_pinobj {
bool(*sequence)(struct s_pinobj * obj);
uint16_t tickcount; // 10ms ticking
PINSTATE state;
.
.
} TXXX;
などと使っていたんだけど、エラーになるようだ。
循環参照対策はどうするんだろ?
159デフォルトの名無しさん (ブーイモ MM4f-ACTV)
2025/11/15(土) 08:31:52.06ID:u+2daHyUM 客→クレジット会社鯖→決済情報→商店
の流れを
客→決済情報→商店
だとよ
つまりクレジット会社鯖でやってる業務をすべてなりすまししてるわけだ
鯖と商店とのやり取りもザルだったってこと
の流れを
客→決済情報→商店
だとよ
つまりクレジット会社鯖でやってる業務をすべてなりすまししてるわけだ
鯖と商店とのやり取りもザルだったってこと
160はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 9f32-ob2Q)
2025/11/15(土) 11:24:07.72ID:nRXHw60f0 >>158
空宣言というのは enum の列挙子がゼロ個ということを言ってるの?
enum が導入された C89 の時点で列挙子はひとつ以上が必要ということになっていて列挙子がゼロ個で良かった時代は無い。
(出来たとしたら処理系の拡張。)
そして enum の宣言は必ず列挙子のリストを必要としている。
struct のように { } を書かなければ不完全型として宣言されるというようなことはないから前方宣言で名前だけ書いておいて後で中身を定義するということも出来ない。
不完全型の列挙型というものは存在できないってことね。
空宣言というのは enum の列挙子がゼロ個ということを言ってるの?
enum が導入された C89 の時点で列挙子はひとつ以上が必要ということになっていて列挙子がゼロ個で良かった時代は無い。
(出来たとしたら処理系の拡張。)
そして enum の宣言は必ず列挙子のリストを必要としている。
struct のように { } を書かなければ不完全型として宣言されるというようなことはないから前方宣言で名前だけ書いておいて後で中身を定義するということも出来ない。
不完全型の列挙型というものは存在できないってことね。
161デフォルトの名無しさん (ササクッテロラ Spf3-7str)
2025/11/15(土) 11:40:24.78ID:YWAh8Gcip162デフォルトの名無しさん (ワッチョイ 1fc9-ACTV)
2025/11/15(土) 14:39:56.35ID:mkkTDyMO0163デフォルトの名無しさん (ワッチョイ 9f5f-7str)
2025/11/15(土) 15:15:39.55ID:jhUkF2/k0164デフォルトの名無しさん (ワッチョイ 1fc9-ACTV)
2025/11/15(土) 15:38:28.29ID:mkkTDyMO0 例え決済情報を盗まれてもさ、アクセス先がクレジット会社でもないとこからのやつを
なんで正規なものとして受け取るかね?
いろいろおかしい
なんで正規なものとして受け取るかね?
いろいろおかしい
165デフォルトの名無しさん (ワッチョイ cd6e-7JbV)
2025/11/17(月) 21:52:49.67ID:WNaQVVCp0 C言語とは直接関係ない話題だが、
カード情報が盗まれてそのまま決済が
通過してしまった事件が過去にあった。
カード持ち主には返金されたが、
損害を誰が負担するかで揉めてた。
カード会社が持つケースもあったが、
テナント企業が弱いと、涙を流すケースもあった。
カード情報が盗まれてそのまま決済が
通過してしまった事件が過去にあった。
カード持ち主には返金されたが、
損害を誰が負担するかで揉めてた。
カード会社が持つケースもあったが、
テナント企業が弱いと、涙を流すケースもあった。
166デフォルトの名無しさん (ワッチョイ 02ad-OBIQ)
2025/11/17(月) 21:56:21.37ID:ktJ33fIe0 直接どころかまったく無関係で草
167デフォルトの名無しさん (ワッチョイ cd6e-7JbV)
2025/11/18(火) 00:14:16.54ID:Ie2Q8O000 Eコマースサイト作る上では必要な知識だからな
全く無関係って訳ではない
全く無関係って訳ではない
168デフォルトの名無しさん (ワッチョイ 259c-L2M8)
2025/11/18(火) 00:20:37.35ID:3HXouIV30 Cで作るの?
169デフォルトの名無しさん (ワッチョイ 5202-F/8Y)
2025/11/18(火) 16:36:11.76ID:d9hs+rsN0 cのcgiだって可能だしあってもいいだろ(?)
170デフォルトの名無しさん (アウアウウー Sa85-H7iN)
2025/11/18(火) 23:45:44.92ID:+AochNn2a windows で
setlocale(LC_ALL, "ja-JP.UTF8"); とか
setlocale(LC_CTYPE, "ja-JP.UTF8"); とか
プログラムの先頭で設定しても無駄?
console は chcp 65001 してる
fopen() のファイル名に UTF8 で渡したいんだが
出来れば readdir() も UTF8 で取得したいのよ
setlocale(LC_ALL, "ja-JP.UTF8"); とか
setlocale(LC_CTYPE, "ja-JP.UTF8"); とか
プログラムの先頭で設定しても無駄?
console は chcp 65001 してる
fopen() のファイル名に UTF8 で渡したいんだが
出来れば readdir() も UTF8 で取得したいのよ
171デフォルトの名無しさん (ワッチョイ 3d5f-JyHE)
2025/11/19(水) 07:24:28.12ID:1qR7LTyn0 ソースコードがSJISなら無駄
172デフォルトの名無しさん (スフッ Sd22-A2v6)
2025/11/19(水) 10:44:13.50ID:sa05/K8dd opendir and readdir themselves work on bytes. They do not perform and reencoding.
Some filesystem drivers may impose contraints on the byte sequences.
I would expect the form returned by readdir to work when passed to opendir.
I'd like to know how you were able to find out that opendir and readdir do not perform any reencoding?
You can trace it through the C library source and the kernel code.
If you run strace ls, you can directly start from the kernel entry point: the open syscall.
The generic filesystem support code passes all bytes other than null and / along unmodified.
It's only some filesystem drivers that transforms file names.
Some filesystem drivers may impose contraints on the byte sequences.
I would expect the form returned by readdir to work when passed to opendir.
I'd like to know how you were able to find out that opendir and readdir do not perform any reencoding?
You can trace it through the C library source and the kernel code.
If you run strace ls, you can directly start from the kernel entry point: the open syscall.
The generic filesystem support code passes all bytes other than null and / along unmodified.
It's only some filesystem drivers that transforms file names.
173はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 4d32-o1Ob)
2025/11/19(水) 11:29:22.16ID:MnCaLNwG0 >>170
普通の入出力はテキストモードとバイナリモードがあって、ロケールの設定がテキストモードの振る舞いに影響するんだけど……
Windows の場合はテキストモード・バイナリモード・ユニコードモードに分かれていて _setmode でユニコードモードに設定する必要がある。
しかしユニコードモードの設定はワイド入出力系関数 (wprintf など) にしか影響を及ぼさない。
そんでその辺の設定をしても、入出力の内容に関してであってファイル名を UTF-8 で渡すのはたぶん駄目なはず。 (確認はしてない。 すまぬ。)
ファイル名はワイド文字 (UTF-16) に変換してから _wfopen で開くのが正当な方法だと思う。
Windows に readdir は無いので FindFirstFileW, FindNextFileW を使うのが普通の方法。
だいぶん前に調べたときは msvcrt と ucrt でちょっと振る舞いが違ったような記憶があるのでそこらにも注意が必要。
ucrt は色々と大きく改良されているみたいなのでひょっとするともっとモダンな方法があるかもしれない。
普通の入出力はテキストモードとバイナリモードがあって、ロケールの設定がテキストモードの振る舞いに影響するんだけど……
Windows の場合はテキストモード・バイナリモード・ユニコードモードに分かれていて _setmode でユニコードモードに設定する必要がある。
しかしユニコードモードの設定はワイド入出力系関数 (wprintf など) にしか影響を及ぼさない。
そんでその辺の設定をしても、入出力の内容に関してであってファイル名を UTF-8 で渡すのはたぶん駄目なはず。 (確認はしてない。 すまぬ。)
ファイル名はワイド文字 (UTF-16) に変換してから _wfopen で開くのが正当な方法だと思う。
Windows に readdir は無いので FindFirstFileW, FindNextFileW を使うのが普通の方法。
だいぶん前に調べたときは msvcrt と ucrt でちょっと振る舞いが違ったような記憶があるのでそこらにも注意が必要。
ucrt は色々と大きく改良されているみたいなのでひょっとするともっとモダンな方法があるかもしれない。
174デフォルトの名無しさん (ワッチョイ cd5c-7JbV)
2025/11/19(水) 12:12:33.50ID:DtAPl5720 UTF16は廃止してほしい
175デフォルトの名無しさん (ワッチョイ ae25-Lseg)
2025/11/19(水) 13:55:46.72ID:95cnfr9u0 ANSI C以前のC処理系で、frexp()の第2引数が、intではなくdoubleへのポインタになってるやつってありましたっけ?
レスを投稿する
