質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
標準入力

標準入力(stdin)は、プログラムが標準的に用いるデータ入力元。リダイレクトしない限り、プログラムを起動した端末のキーボードが標準入力になります。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Q&A

解決済

1回答

1907閲覧

Windows の cli で、password を入力させてぇんだけんども、fgets() でエコーバックを off にする方法知らねぇか?

退会済みユーザー

退会済みユーザー

総合スコア0

標準入力

標準入力(stdin)は、プログラムが標準的に用いるデータ入力元。リダイレクトしない限り、プログラムを起動した端末のキーボードが標準入力になります。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

2グッド

2クリップ

投稿2021/04/21 02:54

書いてある通りでさぁ、
標準入力から Database の root アカウントのパスワード入力させてぇんだけんどもよう、
ショルダーハック防止できねぇかなぁって思ってさぁ。

誰か、知らねぇか?

退会済みユーザー👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2021/04/21 02:58

fgets を使わなければいいのでは? 追加条件があるなら先に書いといた方がいい。何年もここにいるんだから。
退会済みユーザー

退会済みユーザー

2021/04/21 06:10

オラ『fgets()でエコーバックしねぇ方法ねぇか?』 Zuishin『fgets()を使わなければ良い』 オラ『新幹線でペット連れてく方法ねぇか?』 Zuishin『新幹線を使わなければ良い』 Zuishin、おめぇ、やっぱ、馬鹿だろ?
Zuishin

2021/04/21 06:13

初心者は必要でないものを必要だと思いがちなので、そこを確認するのは常識。 本当に fgets が必要かどうか検討してみたらいい。
退会済みユーザー

退会済みユーザー

2021/04/21 06:13

じゃぁ、『ある』。 これでいいのか? おめぇ、あいかわらずだなぁ。
Zuishin

2021/04/21 06:14

あると思い込んでいるだけだろう。 なぜ必要なのか説明してみろ。
退会済みユーザー

退会済みユーザー

2021/04/21 06:18

んー、おめぇが何が知りてぇのか、オラ、全くわかんねぇぞ。 WindowsのCLIでスクリプト動かしてて、 ユーザに入力させてぇんだけんども... この説明、要るか?
Zuishin

2021/04/21 06:19

ユーザーに入力させたいだけなら標準入力である必要ないじゃないか。
退会済みユーザー

退会済みユーザー

2021/04/21 06:36

他に何で入力させるって言ってんだ? おめぇ。
Zuishin

2021/04/21 06:37

え? 標準入力が何か知らないの?
Zuishin

2021/04/21 06:38

一度「リダイレクト」でググってみたらどうだ?
退会済みユーザー

退会済みユーザー

2021/04/21 06:40

あれ? もしかしておめぇ、日本語理解できねぇのかな? 『どうやって』じゃなくて、『何で』ってオラ、聞いてんだけどな。
退会済みユーザー

退会済みユーザー

2021/04/21 06:40

もしかして、話の焦点、食い違ってんのかな?
退会済みユーザー

退会済みユーザー

2021/04/21 06:42

『Windows の cli で、password を入力させてぇ』って書いてあるよな…? Zuishin、一体何言い出したんだ?
退会済みユーザー

退会済みユーザー

2021/04/21 06:46

あのさぁ、オラの勘違いだったら悪ぃんだけんどもさぁ、 『リダイレクト』とか言い出したのって、もしかして、 『ファイルかなんかに書いておいて、それを読み込んでリダイレクトする』とか、そういう話じゃねぇよな? まさか、そこまで文盲じゃねぇよな? 違ってたら、悪ぃな。オラ、まじでおめぇが何を言い出したのか、全くわかんねぇぞ。
Zuishin

2021/04/21 06:47

標準入力は何がリダイレクトされるかわからないんだぞ? 当然ファイルの場合もありうる。 なぜ標準入力を使う必要があるんだ?
退会済みユーザー

退会済みユーザー

2021/04/21 06:53 編集

> 標準入力は何がリダイレクトされるかわからないんだぞ? あのさぁ、それ、どういう意味で言ってる? オラ、おめぇの方が何もわかってねぇような気がしてきてんだけんども…。
退会済みユーザー

退会済みユーザー

2021/04/21 06:52

> なぜ標準入力を使う必要があるんだ? またここに戻るのか? おめぇ オラ『fgets()でエコーバックしねぇ方法ねぇか?』 Zuishin『fgets()を使わなければ良い』 オラ『新幹線でペット連れてく方法ねぇか?』 Zuishin『新幹線を使わなければ良い』
Zuishin

2021/04/21 06:56

何もわかってないのはお前だ。 標準入力はキーボードデバイスから入力されるものと勘違いしているんだろう? ファイルがリダイレクトされることもあるということを常識として知っておけ。
退会済みユーザー

退会済みユーザー

2021/04/21 07:06 編集

> 標準入力はキーボードデバイスから入力されるものと勘違いしているんだろう? してねぇよ、こいつ、本当に何言ってんだ? じゃあ逆に聞くけんどもよう、 『ファイルがリダイレクトされることもある』って、 どういうケースで起こるって言ってて、何が問題だと思ってる?
Zuishin

2021/04/21 07:06

リダイレクトについて理解できたなら、次のステップだ。 標準入力はキーボードとは限らない。 だとすればキーボード入力を直接受け取ればいい。 処理系によっては getch という関数がある。 それを知っていれば getch あるいは conio.h をググることによって容易に次の情報にたどり着くはずだ。 http://www.webcyou.com/?p=10625 ここではキーボードデバイスを取得するのを省略して tcsetattr でエコーをオフにしている。
Zuishin

2021/04/21 07:09

さあ、標準入力を使う方法、使わない方法の二つを出したぞ。 もう後出しは無いな?
退会済みユーザー

退会済みユーザー

2021/04/21 07:11

> リダイレクトについて理解できたなら、次のステップだ。 > 標準入力はキーボードとは限らない。 > だとすればキーボード入力を直接受け取ればいい。 こいつ、まじで一人で何言ってんだ…? 聞かれた事には絶対に答えねぇし…。なんか都合悪ぃ事でもあんのか? > 処理系によっては getch という関数がある。 スクリプトで getch() 実装してるのって、例えば、何だ? ちょっと教えてくれよ。 > んー、おめぇが何が知りてぇのか、オラ、全くわかんねぇぞ。 > WindowsのCLIでスクリプト動かしてて、 > ユーザに入力させてぇんだけんども...
Zuishin

2021/04/21 07:14

質問は何だったか忘れたのか? 解決法を二つ書いただろう。
Zuishin

2021/04/21 07:15

私の言っていることが難しくて理解できないのはお前の問題であって、こっちの知ったことではない。 とりあえずコピペで解決するからやってみろ。
退会済みユーザー

退会済みユーザー

2021/04/21 07:17

Zuishinさぁ、おめぇ、まじで頭悪過ぎるから、めんどくせぇけんども、今、おめぇの為に説明書いてやってる途中なんだ。 そろそろ気づいてくんねぇかなぁ? おめぇのレベルが低過ぎるだけだって事。
Zuishin

2021/04/21 07:18

これでも解決しないのか? これはどうにもならないな。 コピペすればできることをできない質問者はなかなかいないぞ。
退会済みユーザー

退会済みユーザー

2021/04/21 07:22

おまえ、早漏だろ?
退会済みユーザー

退会済みユーザー

2021/04/21 08:06

えっとな、まず、 『複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という意見がありました』 話してる内容がわからねぇなら、黙ってろ。
退会済みユーザー

退会済みユーザー

2021/04/21 08:06

でな、 Zuishin あのさぁ、まじで頭痛くなって来たからめんどくせぇけんども、 おめぇが望んだから、敢えて、おめぇみてぇな作業工に説明してやるな?
退会済みユーザー

退会済みユーザー

2021/04/21 08:07

オラ、アプリで使う Database のマイグレーションするライブラリ書いてるわけさ。 WEBアクセスからでも、CLIからでも、どっちでも使える奴な。 でな、DML 操作については、アプリ用のアカウントの権限で済むから、 アプリの定義ファイル使ってアクセスすれば良いわけさ。
退会済みユーザー

退会済みユーザー

2021/04/21 08:07

だけんども、DDLやデータベースその物の操作は、ユーザ権限で出来たらまじぃだろ? だから普通は、アプリのアカウントにはそういう権限は与えてねぇわけさ。 そういうのは重要機密だから、そもそも、システム内のファイルに書くことすらできねぇわけさ。 だから、DDLやデータベースその物の操作の時だけ、 root権限持ってるユーザがその操作が出来るようにしたいわけさ。 root権限持ってるからって、SQL書けるとは限らねぇしな。 そもそも、そのSQLを自動で構築するのがライブラリの目的の一つだからな?
退会済みユーザー

退会済みユーザー

2021/04/21 08:08

そしたら、そのコマンド叩いてる時にroot権限持ってる奴が、まさにその時に入力すんのが一番効率がいいだろ。
退会済みユーザー

退会済みユーザー

2021/04/21 08:08

で、そのライブラリは PHP のライブラリだから、スクリプトも当然 PHP なわけさ。
退会済みユーザー

退会済みユーザー

2021/04/21 08:08

でな? おめぇが自信満々に力説していた  > 標準入力はキーボードとは限らない。 > だとすればキーボード入力を直接受け取ればいい。 こんなもん、常識だ。おめぇ、本当に馬鹿だろ? 誰も『知らねぇ』なんて一言も言ってねぇのに、おめぇ、まじで何言ってんだ? 頭でぇじょうぶか? > 処理系によっては getch という関数がある。 ねぇよ、そんな関数、PHP には。 逆に、それ使える『スクリプト言語』の例上げろ。 オラ、さっき一回聞いたよな?『あんのか?』って。
退会済みユーザー

退会済みユーザー

2021/04/21 08:09

pythonにはモジュールあるらしいけんどもな?
退会済みユーザー

退会済みユーザー

2021/04/21 08:09

ただな、PHP には、readline_callback_handler_install() ってぇ関数があんだ。 どうせ、teratailで回答してる PHPer の殆どの奴らは、全く何する関数なのか知らねぇだろうけんどもな。 でな、ここで問題なのは、 『readline関数群は、必ずしも全ての関数がコンパイルされてるとは限らねぇ』ってぇ事なんだ。 特に、Windows で一番手軽に PHP が使える XAMPP の PHP では、使えねぇの。
退会済みユーザー

退会済みユーザー

2021/04/21 08:09

Zuishin、おめぇみてぇに『言われたとおりに言われた通りの仕様で作る事が仕事です』みてえな奴にはわかんねぇかもしんねぇけどな、 ライブラリを配って使ってもらうなら、ある程度、どこの環境でも同じように動くように設計しとく必要があんだ。 だから、入力ストリームからキャプチャしたのをエコーしねぇ、なんかいい方法がねぇかな? って探してんだ。
退会済みユーザー

退会済みユーザー

2021/04/21 08:09

Zuishin、おめぇ、まじで脳みそ腐ってるだろ? 『標準入力で入力させてえ』っつってんのに、『標準入力を使わなければ良い』 『スクリプト言語だ』っつってのに、『conio.h をググること』 馬鹿か? .h って何のファイルだ? おめぇの言ってる事なんか『全部知ってて聞いてんだ』
退会済みユーザー

退会済みユーザー

2021/04/21 08:10

> fgets を使わなければいいのでは? > 初心者は必要でないものを必要だと思いがちなので、そこを確認するのは常識。本当に fgets が必要かどうか検討してみたらいい。 > あると思い込んでいるだけだろう。なぜ必要なのか説明してみろ。 > ユーザーに入力させたいだけなら標準入力である必要ないじゃないか。 > え? 標準入力が何か知らないの? > 一度「リダイレクト」でググってみたらどうだ? > 標準入力は何がリダイレクトされるかわからないんだぞ? > 標準入力はキーボードデバイスから入力されるものと勘違いしているんだろう? > ファイルがリダイレクトされることもあるということを常識として知っておけ。 > リダイレクトについて理解できたなら、次のステップだ。 > さあ、標準入力を使う方法、使わない方法の二つを出したぞ。もう後出しは無いな? > 質問は何だったか忘れたのか? 解決法を二つ書いただろう。 > 私の言っていることが難しくて理解できないのはお前の問題であって、こっちの知ったことではない。 Zuishin、まじで、頭おかしいだろ? おめぇ。
退会済みユーザー

退会済みユーザー

2021/04/21 08:16

これもな、まじで呆れ返ったんだよ。 https://teratail.com/questions/334000#reply-461171 --- Zuishin 2021/04/21 07:16 これなんで低評価なんだろう。implode が適当かどうかはともかく、今のところ唯一正しい解決法を示していると思います。goku59 絶賛のもう一つの回答は、情報が足りなかった時点でのエスパー回答なので結果的に的外れになっていますね。 Zuishin 2021/04/21 07:51 ああなるほど、君ね。評価が的外れなのも納得。 --- te2ji の回答みたいな書き方してたら、確実に後で崩壊すんだろ。 おめぇらの頭ん中、まじでどうなってんだよ? 本当にプログラマなのか? おめぇら。
退会済みユーザー

退会済みユーザー

2021/04/21 08:19

https://teratail.com/questions/334000#reply-461171 順番について、『決め打ち』する馬鹿なんか、見たことねぇよ。 定義は別に切り出して、その定義に従って組み立てるだろ、普通。 元々の質問内容も『見通しや管理も困難なことになる』のを懸念しての質問だったろ? おめぇら、本当に頭でぇじょうぶか?
退会済みユーザー

退会済みユーザー

2021/04/21 08:27 編集

ほんと、おめぇらみてぇな馬鹿と話してると、 頭痛くなり過ぎてサクロン欲しくなるんだよ。 バファリンじゃねぇぞ? 頭痛過ぎて、ストレスで胃が痛くなってくんだよ。 まじで、勘弁しろ、Zuishin。おめぇ、頭おかし過ぎるよ。
Zuishin

2021/04/21 08:57

つまりお前は原理を説明されても PHP だからコピペできなくて困ってるということだな? わからないから聞いてるんだよな? 教えてほしいか?
退会済みユーザー

退会済みユーザー

2021/04/21 09:03

> つまりお前は原理を説明されても PHP だからコピペできなくて困ってるということだな? > わからないから聞いてるんだよな? > 教えてほしいか? へぇ。まだなんかあるっていいてぇんだ。 じゃ、『教えてみろ』 どうせ、作業工らしい答えしか返ってこねぇんだろうけんどもな。
Zuishin

2021/04/21 09:06

教えてみろじゃなく、教えてくださいだろう?
退会済みユーザー

退会済みユーザー

2021/04/21 09:08

はいはい、『教えてください』
退会済みユーザー

退会済みユーザー

2021/04/21 09:08

まだやるの? この茶番。
Zuishin

2021/04/21 09:09

そんな態度じゃ教えてやれないな。 じゃあ後払いでもいいぞ。 後出しできないようルールを決めようか。
Zuishin

2021/04/21 09:12

どういう仕様なら満足するか全部書け。書かないものは無効。それを満たすものを出した場合は、「どんな理由があろうと」正解とする。 これでどうだ?
退会済みユーザー

退会済みユーザー

2021/04/21 09:12

はいはい、すごいすごい。 どんなルールにしてぇんだ?
退会済みユーザー

退会済みユーザー

2021/04/21 09:15

> どういう仕様なら満足するか全部書け。書かないものは無効。それを満たすものを出した場合は、「どんな理由があろうと」正解とする。 > これでどうだ? 仕様、全部話したろ? まじで言ってんのか? あと、『後払い』はどうなったんだ? おめぇの日本語、まじで何いってんのか、オラ、全く理解できねぇよ。
Zuishin

2021/04/21 09:16

逃げると思ったよ。
退会済みユーザー

退会済みユーザー

2021/04/21 09:17 編集

仕様: WindowsのCLIで動いてるPHPスクリプトで、標準入力を用いてユーザに入力させる際に、入力した文字が視覚的に判別できないようにしてぇ。 他に何か、仕様があると思ってんのか? ここまで日本語が通じねぇ相手だとは、流石に思ってもみなかったぞ、オラ。
退会済みユーザー

退会済みユーザー

2021/04/21 09:18

今度は『逃げる』とか言い出したぞ。 こいつ、まじで頭おかしいだろ?
Zuishin

2021/04/21 09:18

追加しないならこれですべての仕様が出そろったことになるぞ? それでいいのか? 書いてないものは無効だぞ?
退会済みユーザー

退会済みユーザー

2021/04/21 09:20

一個追加しとけ。 WindowsのCLIで動いてるPHPスクリプトで、標準入力を用いてユーザに入力させる際に、入力した文字が視覚的に判別できないようにしてぇ。 CLIインターフェイスを提供するアプリケーションはユーザが望んだどのアプリケーションでも同様に動作する物とする。 こうやってくと、どんどん、仕様増えてくぞ? 頭でぇじょうぶか?
Zuishin

2021/04/21 09:21

後出しできないように全部出せと言ったはずだ。 書いてない物は無効。 何度も読んだよな?
退会済みユーザー

退会済みユーザー

2021/04/21 09:21

はいはい、すごいすごい。
Zuishin

2021/04/21 09:22

終わりだな? じゃあユーザが望んだアプリケーションの定義を書け。
退会済みユーザー

退会済みユーザー

2021/04/21 09:25 編集

とりあえず、仕様はそんなとこでいいんけんども、 逆にこっちから聞くぞ。 おめぇ、2020年の4月に改正試行された民法は、当然知ってんだよな?
退会済みユーザー

退会済みユーザー

2021/04/21 09:26

民法に違反してんなら、それを理由に、 おめぇの回答は不正解になるけど、それでいいな?
Zuishin

2021/04/21 09:26

ユーザが望んだアプリケーションの定義を書け。
Zuishin

2021/04/21 09:28

民法に違反するかどうかはお前が判断することじゃない。 どうしてもと言うなら法廷に行くことになる。
退会済みユーザー

退会済みユーザー

2021/04/21 09:30

> 民法に違反するかどうかはお前が判断することじゃない。 馬鹿が寝言言い出した。 何の言ってんのかすらわからねぇのか? 依頼者の要求を満たさねぇなら、そりゃ、おめえの問題だ。 おめぇ、まじで馬鹿で無知だろ?
Zuishin

2021/04/21 09:31

逃げると思ったよ。
退会済みユーザー

退会済みユーザー

2021/04/21 09:37

> 民法に違反するかどうかはお前が判断することじゃない。 馬鹿が寝言言い出した。 何の言ってんのかすらわからねぇのか? 依頼者の要求を満たさねぇなら、そりゃ、おめえの問題だ。 おめぇ、まじで馬鹿で無知だろ?
Zuishin

2021/04/21 09:37

逃げると思ったよ。
退会済みユーザー

退会済みユーザー

2021/04/21 09:44

おめえの問題だ。 おめぇ、まじで馬鹿で無知だろ?
退会済みユーザー

退会済みユーザー

2021/04/21 09:49

> Zuishin 2021/04/21 18:44 > 善意で回答してくれてる人にいつも迷惑かけてるのはお前だ。 ちんぱんじーか? おめぇ。 オラ、覚えてるだけで質問は2回しかした事ねぇよ。 日本語分からねぇなら、黙ってろ。 『オラの質問に回答してくれた人に迷惑かかるから』って話をしてんだ。 上に記した質問についた te2ji のトンデモ回答みてぇなのに、敬意を払う理由なんかあるわけねぇだろ。 なぜなら、 『その回答は、質問者にとって不利益だから』だ。 Zuisini、おめぇ、やっぱ頭おかしいよ。
Zuishin

2021/04/21 09:50

どういう関係か知らないけど末永くお幸せに。 キモいから返信は結構。
Zuishin

2021/04/21 09:51

それと、私も解決法を二つ書いているので敬語を使え。
Zuishin

2021/04/21 09:52

せっかく教えてくれた人に迷惑をかけるな。
退会済みユーザー

退会済みユーザー

2021/04/21 10:35

> どういう関係か知らないけど末永くお幸せに。 おめぇ、本当に馬鹿で根性腐ってるだろ。 あの人の事なんか、オラ、まじで知らねぇよ。 なんでオラに回答してくれたのかすら分かんねぇよ。 おめぇ、まじで、根性腐り過ぎだろ。
退会済みユーザー

退会済みユーザー

2021/04/21 10:35

でな、あの人が書いてくれた回答は、あの人に一切責任はねぇけど、ダメだった。 理由、おめぇは当然、わかるんだよな? Zuishin。
Zuishin

2021/04/21 10:35

理解できないのはそのレベルにお前が達していないだけだ。
退会済みユーザー

退会済みユーザー

2021/04/21 10:39

> Zuishin 2021/04/21 19:34 > おい、正解教えてやったんだから敬語使えよ。コード化できないのはお前の問題だぞ。 知恵遅れか? おめぇ。 関係ない人に迷惑かけんな。 で、おめぇのは、正解じゃ、ねぇよ。 『民法』の話したの、理解できなかったのか? おめぇ、本当にシステム開発者か? 2020年の民法で一体何が変わったのかすら、おめぇ、分かってねぇだろ? 脳みそ腐り過ぎだよ、おめぇ。
退会済みユーザー

退会済みユーザー

2021/04/21 10:40

Zuishin、 ガキじゃなければ分かんだろ? おめぇが正しいかどうかは、おめぇが『誰にでも分かる形』で、 証明しねぇと、な? ここまで幼稚なガキだとは思わなかったよ。
退会済みユーザー

退会済みユーザー

2021/04/21 10:42

プログラムなんだからさ、そりゃ、 『なんでもあり』なら、コンピュータの世界では、『なんでもできる』だろ。 それを正解と言うのか? Zuishin、おめぇ、本物の、ヴァカだろ?
退会済みユーザー

退会済みユーザー

2021/04/21 10:51

> Zuishin 2021/04/21 19:47 > これでベストなのか。ふーん。じゃあ回答する必要ないな。 一生ほざいてろ、ヴァー―――か
Zuishin

2021/04/21 10:53

お前ら二人がこれで満足なら別にこれ以上言う必要ないけど?
退会済みユーザー

退会済みユーザー

2021/04/21 10:59

> Zuishin 2021/04/21 19:56 > 結局「できなかった」という結論ねえ。 オラ『fgets()でエコーバックしねぇ方法ねぇか?』 Zuishin『fgets()を使わなければ良い』 オラ『新幹線でペット連れてく方法ねぇか?』 Zuishin『新幹線を使わなければ良い』 この人間の頭の中では、これが論理的に成立しているらしいっすねぇ。
退会済みユーザー

退会済みユーザー

2021/04/21 11:00

やれやれ。 頭おかしい奴相手に、一体何時間無駄にしたんだ? とっとと仕事しよ。
Zuishin

2021/04/21 11:02

ググって数秒でみつかる情報を試しもせずに回答して「できない」が結論。 結局お前は時間を潰しただけで自分の仕事には失敗した。 でも、その結果がお前らにとってはせいいっぱい。 そういうことだろう? ご苦労。
退会済みユーザー

退会済みユーザー

2021/04/21 12:50

まだほざいてんたんだ。 てか、 > ユーザーに入力させたいだけなら標準入力である必要ないじゃないか。 > 一度「リダイレクト」でググってみたらどうだ? これ、どうなった? 痴呆症か? おめぇ。
退会済みユーザー

退会済みユーザー

2021/04/21 13:04

この内容で『問題・課題が含まれていない質問』って言ってる奴は、 そりゃもう、問題や課題って何なのか、全く分かってねぇんだろ。 でぇじょうぶか? 頭。
guest

回答1

0

ベストアンサー

追記です すみません、PHP縛りをクリアできませんでした。

goku59様がお求めなのはおそらく以下の関数の現行版であり、尚且つphpに組み込まれているもの。
参考URL PHP Manual ncurses_noecho — キーボード入力エコーを無効にする
https://man.plustar.jp/php/function.ncurses-noecho.html
すみません、PHP単独での解決方法は見つかりませんでした。

同じ問題で壁にぶち当たってここに来た方はPHP以外に解を求めた方が良いかもしれません。


お邪魔します。「おぅ、邪魔だ」と言われるかもしれんですけど。

ログを追って内容を確認しググってみたんですが、
参考URL GitHub PHPのコマンドラインツールでパスワードを要求するときの定番コード
https://gist.github.com/rsky/792558
これだとwinで効かないらしいというのは分かりました。おそらく分かったような気がしているだけですが。
※10 years agoなのでかなり古いですし、走らせてもいないですが。

参考URL Qiita コマンドライン上で文字の見えないパスワード入力を実現する
https://qiita.com/mpyw/items/2e4bf35044a407be536d
こっちは使えそうな気がしますが、気のせいだと言われそうです。
※2014年09月25日、走らせてないです

参考URL hatena PHP(CLI)のプログラムをコマンドラインで実行し、画面からパスワードを入力させたい…
https://q.hatena.ne.jp/1205819524
文字を隠す「ANSI エスケープシーケンス」というのがあったようですが、情報が古いので今使えるか調べました。

参考URL Qiita Windows向けのプログラムでANSIエスケープシーケンスを使うには
https://qiita.com/mod_poppo/items/2ff384530c6f3215c635
「SetConsoleMode呼び出しで対応」とありますが、呼び出せるか分かりません。

goku59様であればチラ見で使えるかどうか分かると思いますので、
URL貼るだけとさせていただきますね。
※僕に訊かれても実装したことないのでっ、やったことないので貼るだけ。

以下蛇足です。
この流れで入るのは止めた方が良いと本能が全力で告げてるんですが、
不毛なやり取りをされているので少しでも方向を変えようかと思いまして。
これだけ情報まとめておけば、何を求めているのか方向性はわかるかなぁと。

単純な話、
「winのCLIでDBのrootpass入力してぇんだけども、覗かれると困るからなんとかしてぇ。ぁ、PHP縛りな」
この一行にまとまるかなと。

投稿2021/04/21 09:29

編集2021/04/21 14:26
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/04/21 09:36

キャラに合ってねぇコメントは避けてたんだけんども、一応、 ありがとうございます。 実際に試してから、結果を報告します。 まさか、 「winのCLIでDBのrootpass入力してぇんだけども、覗かれると困るからなんとかしてぇ。ぁ、PHP縛りな」 だけの事で、こんだけ長引くとは思ってもみませんでしたよ。
退会済みユーザー

退会済みユーザー

2021/04/21 09:39

嫁から飯と言われたのでとりあえず一言だけ。 他の質問見てからファンです。がんばれごくう!
Zuishin

2021/04/21 09:40

私の書いたことで十分できるだろう。 理解が遅いのが悪い。
退会済みユーザー

退会済みユーザー

2021/04/21 09:41

あと、1個だけ言っとくけんども、 この回答に八つ当たりして低評価した馬鹿、おめぇはまじで根性腐ってるから人生やり直せ。 善意で回答してくれてる人に迷惑かけんな、馬鹿が。
Zuishin

2021/04/21 09:44

善意で回答してくれてる人にいつも迷惑かけてるのはお前だ。
退会済みユーザー

退会済みユーザー

2021/04/21 09:47

あのな、Zuishin この回答にぶら下げると迷惑かかるから、以後、上に書くな。
Zuishin

2021/04/21 09:48

特別な存在か。
退会済みユーザー

退会済みユーザー

2021/04/21 10:32

amiya-se さん 有難うございます。 これは、amiya-se さんの回答を否定する物ではありませんので、予め、それを前置きします。 Zuishin を意識して敢えて言葉を濁して説明しますが、 1. まず、mpywさんのQiitaの投稿内容については、 『確かに動作するが、実用には耐えない』が、結論です。 問題点は2つですが、結局、問題となる根拠要求は一緒です。 [根拠要求] パスワードは、元来複雑な物である。 mpywさんのQiitaの投稿内容 でこれの何処が問題となってくるかは『やってみれば分かります』。 所詮、Windowsのバッチファイルで、正しくユーザの入力をハンドリングするなど無理だと思います。 2. ANSIエスケープシーケンスについては、 ご紹介頂いたリンクの通りです。条件が多すぎます。 繰り返して言いますが、これは、amiya-se さんの回答を否定する物ではありません。 ただ、成り行き上、こちらにこうして書いているだけです。 回答内容は大変ありがたいですし、有益だと思います。 ただ、『これだけの事に、C系で外部プログラム書かなければならないのかい?』というのが、正直な感想です。 linuxとかなら、1行書くだけで済むはずですからね。 で、これだけの事に、『もったいぶって延々と見当違いの事を言ってる Zuishin って、まじ、頭大丈夫け?』という所に落ち着いてしまいます。 なお、 わたしは Windows ネイティブで動作するプログラムについては全くと言って良いほど知りませんので、 更にコードを追加すれば多少は改善できるかもしれませんが、 まぁ、無理だと思っています。
Zuishin

2021/04/21 10:34

おい、正解教えてやったんだから敬語使えよ。コード化できないのはお前の問題だぞ。
退会済みユーザー

退会済みユーザー

2021/04/21 10:58 編集

まだ幼稚なガキが何か言っていますが、 明日、ベストアンサーにしますね。 外部プログラム書いていいなら、なんだって出来るんですよ。 そういう問題じゃないって事すら、作業工のコーダーには分からないらしいです。 ↓ 『なんでもあり』なら、そりゃ『なんでも出来るのが当然』だから、『質問する意味ねぇよ』って事すら分からない頭おかしい奴が何かほざいてるので、こちらの回答では以後、無視します。
Zuishin

2021/04/21 10:47

これでベストなのか。ふーん。じゃあ回答する必要ないな。
Zuishin

2021/04/21 10:56

結局「できなかった」という結論ねえ。
退会済みユーザー

退会済みユーザー

2021/04/21 14:46 編集

> goku59様がお求めなのはおそらく以下の関数の現行版であり、尚且つphpに組み込まれているもの。 > 参考URL PHP Manual ncurses_noecho — キーボード入力エコーを無効にする 有難うございます。 --- https://www.php.net/manual/ja/function.ncurses-noecho.php ncurses_noecho — キーボード入力エコーを無効にする (PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0) 警告 この関数は、 実験的 なものです。この関数の動作・ 名前・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 この関数は自己責任で使用してください。 --- ですね。PHPには詳しいつもりでしたが、知らないわけです。 https://www.php.net/manual/ja/intro.ncurses.php を見ると、やはり Windows には対応していなかったようですし…。 CかPythonで考えてみます。有難うございました。
退会済みユーザー

退会済みユーザー

2021/04/21 15:00 編集

@goku59様 行き違いです、夜遅いので返信無用です、寝ますっ ※ここも追記です、レスが早くて返信無用が間に合わなかったけどもっ 試さずに回答してすみませんでした。 ご丁寧に説明いただきありがとうございます。 CLIでSTDINが使えず試せなかったのですが、調べ捲ってようやくヒントを見つけることが出来ました。 重ねてお礼申し上げます。この質問が無ければおそらくここまで調べることは無かったので。 goku59様のおっしゃられる通り、制限が無い状態であればすっきり書けそうなんですよね。 「文字色を背景と合わせて見えなくする」という情報も見つけましたが、穴がありそうなので非推奨かなと。 結局、PHP単独の方法は見つけられなかったことを回答へ追記いたしました。 こちらこそ、貴重なお時間をいただきましてありがとうございました! 追記 がんばれごくう!
退会済みユーザー

退会済みユーザー

2021/04/21 14:52

> 試さずに回答してすみませんでした。 とんでもないです。大変勉強になりました。 実質、WindowsのPHPでは出来ない、という事が分かっただけでも儲け物です。 ※まだ何か方法があるかもしれませんが、それは時間が解決してくれるでしょう。 > 貴重なお時間をいただきましてありがとうございました! こちらこそ、貴重な時間を割いて頂き、誠に有難うございました。 ※本来は、『知らねぇか?』『ねぇよ』『そっか、悪ぃ』で済ませるくらいのつもりだったんですけどね。手段選ばなくていいなら、聞く必要なんて無いですから。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問