トップページphp
1001コメント239KB

【PHP】下らねぇ質問はID出して書き込みやがれ 121

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2012/07/25(水) 21:30:09.38ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 120
http://kohada.2ch.net/test/read.cgi/php/1340275027/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0090nobodyさん2012/07/27(金) 22:35:33.49ID:???
>>89
分からないなら本を読みなさい
0091nobodyさん2012/07/27(金) 23:27:44.27ID:???
>>89
そんなに量がなくて複雑なもんでなければテキストファイルにでも入れときなさい
0092nobodyさん2012/07/27(金) 23:40:33.05ID:???
回答者のみなさま、こんばんは!
0093nobodyさん2012/07/27(金) 23:52:38.04ID:???
こんばんわ!
0094nobodyさん2012/07/28(土) 00:05:04.16ID:???
最高ですかーーー\(^o^)/
0095nobodyさん2012/07/28(土) 00:17:31.05ID:???
最高でぇーーーーす!
0096nobodyさん2012/07/28(土) 14:41:41.60ID:???
回答者のみなさま、こんにちは!
0097nobodyさん2012/07/28(土) 15:15:10.43ID:???
こんにちわ!
0098nobodyさん2012/07/28(土) 15:24:37.93ID:esfgE5V2
漢字をひらがなに変えて返すようなことってできますかね?
完璧は無理だと思うので出来るだけ意味がわかる程度に変換されればよいのですが
なんか関数あったら教えて下さい
0099nobodyさん2012/07/28(土) 15:32:33.89ID:???
>>98
まず、漢字とひらがなの対応表を用意します
0100982012/07/28(土) 15:34:26.87ID:esfgE5V2
>>99
用意したら使えるものがあるんですか?

用意する必要がないとよいのですがやっぱきついのかな?
専鯖なので標準バンドルじゃなくても全然いいです
0101nobodyさん2012/07/28(土) 15:36:51.91ID:???
phpにできないことはない
0102nobodyさん2012/07/28(土) 15:37:23.86ID:???
kakasi
0103nobodyさん2012/07/28(土) 15:38:58.25ID:???
>>100
用意すればできるに決まってるだろ
PHPerには馬鹿しかいないな
0104982012/07/28(土) 15:46:55.77ID:esfgE5V2
>>102
これはよさそうですね
PHPのモジュールが用意されてないようなのでちょっと残念ですが
(探せばありそうですが)
この部分だけPerlでやるのもいいですが
コンソールで使えるみたいなのでPHPでもいけそうですね

どうもありがとうございました
0105nobodyさん2012/07/28(土) 15:49:41.74ID:???
http://developer.yahoo.co.jp/webapi/jlp/
0106982012/07/28(土) 15:57:42.03ID:esfgE5V2
>>105
こういう類のものは通信コストがかかってレスポンスが返ってこない危険性があるのと
使用回数の上限がある可能性があるので出来れば避けたいところです

ご紹介ありがとうございました
0107nobodyさん2012/07/28(土) 16:03:11.87ID:???
>>106
本日の串メニューとおしながら使い切らないようにすればよくね?
0108nobodyさん2012/07/28(土) 18:11:15.75ID:3yuInUep
<?php

echo "aaa";
return
?>

<!doctype・・・・


ってhtmlを書く前にPHPのコードを書く場合ってよくあると思いますが、
phpのコード内でreturnするとそこで出力がとまってしまって下のhtmlが出力されません。
でもエラーが発生したときはphpの処理を途中で止める必要があるのでreturnは外せないんですが、
止めつつもhtmlを出力するにはどうすればいいんでしょうか?
0109nobodyさん2012/07/28(土) 18:17:18.02ID:???
returnする前に残りのhtmlを出力する
0110nobodyさん2012/07/28(土) 18:21:56.71ID:???
phpをやめる
0111nobodyさん2012/07/28(土) 18:23:10.15ID:???
もうちょっと簡単な回答ないですかね
0112nobodyさん2012/07/28(土) 18:23:56.21ID:3yuInUep
もうちょっと簡単な回答ないですかね?
htmlはphpのコードより後ろに書いてるんで無理です
0113nobodyさん2012/07/28(土) 18:30:40.17ID:???
なんで無理と決めつけるの?
phpで出力すればいいだけでしょ

初心者のうちは仕方ないけど
そもそもそういう構造になること自体がおかしいんだよ
0114nobodyさん2012/07/28(土) 18:32:50.62ID:???
関数化すれば?
0115nobodyさん2012/07/28(土) 18:36:38.86ID:3yuInUep
関数化してみるわ
めんどくせ
サンキュな
0116nobodyさん2012/07/28(土) 18:39:47.46ID:???
>>112
phpをやめろ
0117nobodyさん2012/07/28(土) 18:44:40.42ID:???
いいこと教えてやろうと思ったけど
なんか態度がでかいからやめた
0118nobodyさん2012/07/28(土) 18:51:32.58ID:3yuInUep
ああああああああごめんなさい
私が悪かったです
よかったら教えてください
お願いします!
0119nobodyさん2012/07/28(土) 18:53:43.17ID:???
でも教えたらまた態度がでかくなるんでしょう?
0120nobodyさん2012/07/28(土) 18:58:53.72ID:3yuInUep
態度がでかくなるのはストレス発散です
心の中では本当に感謝してます
とりあえず関数化してみますわ
0121nobodyさん2012/07/28(土) 19:01:27.21ID:???
そりゃストレス発散場所まちごうとるわ

return

header('Location: error.php');
0122nobodyさん2012/07/28(土) 19:06:33.49ID:3yuInUep
>>121
え?
これじゃerror.phpに移動しちゃって下のhtmlは出力されない気が・・
ちょっとやってみます
あざっす!
0123nobodyさん2012/07/28(土) 19:09:06.12ID:???
いや、全部そっちで出力したらって言いたかったんだけど
それか同じスクリプトで後ろに?error=1とかつけて
getで処理わけたり
0124nobodyさん2012/07/28(土) 19:11:46.01ID:3yuInUep
あ、そういうことですね。
そういえばパラメータも使えましたね
どうもイライラしてると何も思いつかなくって。
本当にありがとうございました
0125nobodyさん2012/07/28(土) 20:01:23.66ID:???
>>108
<?php
...

//return
goto end;
...

end:
?>
<!doctype ...
0126nobodyさん2012/07/28(土) 20:02:05.42ID:KrNBno09
セキュリティについて質問です。

画像をアップロードする機能を作りました。
(記事ナンバー).jpg というような 形式で
ファイルがどんどんアップロードされるようにしています。

ここで、ひとつ思ったのが
アドオンのwebDeveloper 等で、hiddenの値を操作することができますが
hidden の値を変えて つまり(記事ナンバー) の値を変えて
本来 01.jpg とアップされるところを 04.jpg 等と自由に変えられて
しまうことはないのか? ということです。
というか実際やってみたら変えれました。

そしてすでにある (記事ナンバー)にすると上書きされてしまいました。
つまり、過去にすでにアップされた画像を
全く別の画像に書き換えれてしまうということです。

この問題に対してなにかしらどのようなセキュリティ対策が考えられるでしょうか?

ちなみに、画像の上書き保存をできないようにするのは
画像を表示する側の仕様上あまりしたくありません。
0127nobodyさん2012/07/28(土) 20:04:53.62ID:3yuInUep
>>125
goto文ってPHP5.4ぐらいからじゃないと使えませんよね?
ったく関数は良いのたくさんあるのにgoto文がいままでなかったってどういうこったよ
まあgoto文はプログラマをダメにすると思うがな
2重ループとかを抜けるときだけ使えばいいけどな
0128nobodyさん2012/07/28(土) 20:05:48.13ID:???
>>126
クライアント任せにしないでサーバ側でリネームして下さい
連番にしてどっかに最終番号の情報もっておいて
それに+1した名前をつけるとか
アップロードを受け付けた時点のmicrotimeにsalt加えたものをハッシュ化したものを名前にするとか
0129nobodyさん2012/07/28(土) 20:15:44.56ID:KrNBno09
>>128
ということは、保存時のファイル名を<img src="">記述時、
再び呼び出すためにデータベースに保存しないとダメですね。

うーん、やっぱデータベースがいるか。





0130nobodyさん2012/07/28(土) 20:22:48.36ID:???
>>126
既に出てるように、クライアントを信用するのが最も危険
0131nobodyさん2012/07/28(土) 20:23:21.57ID:???
連番の管理程度ならファイルで十分
ちゃんとロックして整合性保たせることだけ注意

>アップロードを受け付けた時点のmicrotimeにsalt加えたものをハッシュ化したものを名前にする
この手法じゃそもそもいらないけどね

サーバ側に同名のファイル名があったら
なんか適当な文字を加えてリネームする
ってのを重複しないまで繰り返すとか

まぁ方法はいろいろあるがとりあえずクライアント任せにはしない
0132nobodyさん2012/07/28(土) 20:31:56.48ID:KrNBno09
>>131
回答ありがとうございます。

一応、使用してるフレームワーク(codeigniter)に
同じ名前が存在した場合、上書きを許さない機能がついてるんですが、
そうなると、ハードコーディングじゃなくてで、画像のURLを書きたい場合
どないして呼び出すねん っちゅう話やねん。

なんです。
0133nobodyさん2012/07/28(土) 20:44:34.80ID:???
ユニークなIDが欲しいなら
UUIDを使えばいいだけ。

自分でコード作るな。

>アップロードを受け付けた時点のmicrotimeにsalt加えたものをハッシュ化したものを名前にする
microtimeが同じなら、salt加えてハッシュ化しても
microtimeの値をそのまま使っても同じだろ。
0134nobodyさん2012/07/28(土) 21:00:52.86ID:KrNBno09
>>答えてくだった方々

回答有り難うございます。

以下のロジックで作成することにしました

画像 アップロード

[アップロード時の、ID]+[microtim].jpg

同時にデータベースにファイル名をインサート

<img src="<?= $row['ファイル名'] ?>"> でよびだし
0135nobodyさん2012/07/28(土) 21:10:38.71ID:???
>>133
saltってなんのことかわかってんの?
0136nobodyさん2012/07/28(土) 21:15:32.99ID:???
げんざいぐぐっています
しばらくおまちください
0137nobodyさん2012/07/28(土) 21:16:39.27ID:???
使うな厨はスルーで
0138nobodyさん2012/07/28(土) 21:21:42.94ID:???
>>135
”パスワード”につけてハッシュ化するもので、
元の値(パスワード)というバレてはいけないものを
バレにくくするためのものですが?

あなたは、なんのためにsaltをつけたんですか?
0139nobodyさん2012/07/28(土) 21:21:43.32ID:???
issetで$_POSTの変数調べてんだけど空っぽなのに真になる
意味分からん
0140nobodyさん2012/07/28(土) 21:24:26.48ID:???
>>138
いいえ違います
ただの乱数です
0141nobodyさん2012/07/28(土) 21:30:24.20ID:???
>>138
バレにくくするためのものなんかじゃない
0142nobodyさん2012/07/28(土) 21:32:32.49ID:???
まぁそのへんでこの話はやめよう
言葉の定義の話になるとソース合戦になるからな

>>134で解決したし次の質問どぞ
0143nobodyさん2012/07/28(土) 21:33:21.22ID:???
>>142
勝手に仕切るなクズ
0144nobodyさん2012/07/28(土) 21:33:59.00ID:???
>>143
荒らしたいだけならあっちでどうぞ
0145nobodyさん2012/07/28(土) 21:34:35.93ID:???
issetがヌルなのに真になるんだけど?
0146nobodyさん2012/07/28(土) 21:35:26.77ID:???
だから何?独り言ならブログでどうぞ
0147nobodyさん2012/07/28(土) 21:36:15.98ID:???
>>144
俺は誰の指図も受けない
0148nobodyさん2012/07/28(土) 21:39:19.35ID:???
変なエラー出てわろた
T_PAAMAYIM_NEKUDOTAYIM
発音むずかしすwwww
0149nobodyさん2012/07/28(土) 21:44:25.99ID:???
> なぜダブルコロンに Paamayim Nekudotayim という名前をつけたのか、 ちょっと奇妙に感じられるかもしれません。
> しかし、Zend Engine 0.5 (PHP 3のエンジン) を 書いている時に、Zend チームはこう呼ぶと決めたのです。
> この奇妙な名前は、実はダブルコロンを意味するヘブライ語なのです!

さすがPHPわけわからん
0150nobodyさん2012/07/28(土) 21:44:31.75ID:???
>>148
<?php
::
?>
0151nobodyさん2012/07/28(土) 21:46:23.48ID:???
?????? ???? ???
0152nobodyさん2012/07/28(土) 21:49:09.49ID:???
var_dump(isset(null))
0153nobodyさん2012/07/28(土) 21:49:34.65ID:???
>>148
パーマイーム ネクドタイーム
0154nobodyさん2012/07/28(土) 21:55:46.98ID:???
もしかして: パーマイン ネクタイ
0155nobodyさん2012/07/28(土) 22:28:55.89ID:???
>>102あたり
ttp://kokukuma.blogspot.jp/2011/12/php.html
Mecabってのもあるみたい
0156nobodyさん2012/07/28(土) 22:38:18.56ID:???
茶筅
0157nobodyさん2012/07/28(土) 23:15:56.06ID:???
>>140
> いいえ違います
> ただの乱数です

saltが乱数?

固定の値だけど?
0158nobodyさん2012/07/28(土) 23:20:03.87ID:???
お前の中でそうならそれでいいんじゃね
0159nobodyさん2012/07/28(土) 23:20:10.75ID:???
   ─'''''''''──‐'''"~   .ノ                          .|.゙ヽ、     -
゙''     _,,,-    ,,,,-‐"                           |、,,-、゙'ヽ
         ,,-‐'.、,_|                           ,.-┴‐─'''""
        ゙''ヽ‐-、,,,|____                        ヽ        ̄''''
      ""''        ),‐-、      O    O        ___  ゙l‐、--┬┐
         ,,,,,,,---、--‐''l|:::::::::\                /::::|l .//_  / ノ  -‐''
       ヽ/ ゙、 ノヾ、 ''‐.、:::::::\    O    O    /::::::::::|ll / ゙ヽ|,,-‐'"
        \ヽ  /'" ゙、   \::::\           /:::./ ̄ /,,, l"~  ,,,-'''"ヽ  ,-''"
      ,-、   ゙"'''ヽ ,-,゙、  ゙ヽ、\:::\ O    O ./:/-‐   ./二-゙ヽ‐'"::::::\/  /
      ゙、::.゙'''''‐┬'"ヽ-、 ゙、  ゙"''ヽ、\::\  | , l  //,'"-‐''  ./'" / /.:.:.:.:.:./ /
    ゙ヽ、, \.:.:.:.:.:゙、 \  ゙、 '''''==-゙''\::ヽ-| | |'''"‐''"~ニ''"~  /-‐'/  /.:.:.:.:.:.:/‐''"
     \゙ヽ‐.:.:.:.:.:゙、  ヽ‐-.゙、     ̄''' ゙''''''"  ゙",,-‐'"  |   /.:.:/ /.:.:.:.:.:.:/ /
       \\.:.:.:.:.:\  ゙、.:.:.:.゙、   l"','''‐──‐'" _,,/‐"/  // /.:.:.:.:.:.:.:/ /
        \\.:.:.:.:.:\ ゙ヽ、.ヽ.   ヽ/ヽ‐--┬‐‐'" 〉''/  / ,,-'"::::.:.:.:.:.://   \
/        .゙、\:::::.:.:.:.:゙ヽ、  ゙''゙'ヽ、 ゙、 ,|   ::    ノ,/,/,,-‐'":::::::.:.:.:.:./:::/
  /      ヽ:::::\:::::::::.:.:.:.:.゙''ヽ、  ゙ヽ、 ヽ-----‐''/::::::::::::.:.:.:.:.:.:::;;-''":::::/    \
0160nobodyさん2012/07/28(土) 23:20:53.56ID:???
いい加減黙れ

http://d.hatena.ne.jp/keyword/SALT

2. パスワードハッシュ値を作成する時に、パスワード文字列と
共に用いられる任意の文字列。FreeBSD 標準では 48bit(Redhat Linux では 12bit らし)。

簡単にいえば、「パスワード*SALT=ハッシュ値」ということ。(乱暴かな?)

これによりハッシュ値からパスワードを逆算する手間が
2^SALT ビット倍になるので、SALT が十分大きければほぼ解読は無理といえる。
0161nobodyさん2012/07/28(土) 23:24:16.77ID:???
らしいだのかな?だの
恥ずかしいの貼っちゃったね
まぁ君のレベルにはぴったりなんじゃないか?
0162nobodyさん2012/07/28(土) 23:26:07.30ID:???
>>161
苦笑w

で、反論はしないの?

http://itpro.nikkeibp.co.jp/word/page/10005089/
ソルトと読む。パスワードの暗号化のために使用する「種」。
UNIX系のOS では,/etc/passwdファイルまたは/etc/shadowファイルで
管理している暗号化されたパスワードを,DESをベースとしたcryptライブラリに
よって生成している。cryptライブラリを使用して文字列を暗号化する
場合に必要となるのが,saltと呼ばれる2文字の文字列である。
0163nobodyさん2012/07/28(土) 23:27:39.36ID:???
まあ、ぶっちゃけ反論できないのわかっているわけだがね。


http://qa.atmarkit.co.jp/q/2121
ソルト(salt)とは、パスワードのハッシュ値を計算する際に、
パスワードの前後に付加する文字列のことです。

ソルトの要件は以下の通りです。

ある程度の長さがあること(20文字以上あればよい)
ユーザ毎に異なる文字列であること
過去の実装では、ソルトとして乱数を用いる場合が多かったのですが、
実際にはソルトに「予測困難性」は要求されないため、乱数が必須ではありません。
ソルトとして、メールアドレスやユーザIDを用いることもできます。
これらでソルトとしての長さが足りない場合は、固定の文字列を追加するとよいでしょう。
0164nobodyさん2012/07/28(土) 23:30:15.82ID:???
>>133で言ってることと矛盾してることに気づいてないんだな
0165nobodyさん2012/07/28(土) 23:31:05.23ID:???
>ユーザ毎に異なる文字列であること
これが固定値とは片腹痛いwwwwwwwwwwwwwwwww
0166nobodyさん2012/07/28(土) 23:33:06.79ID:???
だから>>142で止めたのに
書いてることを過信して無意味なソース貼って言い合いするのは目に見えてた
0167nobodyさん2012/07/28(土) 23:36:58.56ID:???
なぜsaltと呼ぶことになったか説明すれば?
0168nobodyさん2012/07/28(土) 23:39:35.77ID:???
語源で勝負!(キリッ
0169nobodyさん2012/07/28(土) 23:52:14.24ID:???
salty dog
0170nobodyさん2012/07/29(日) 00:05:15.62ID:???
Ha!-ka!-ta! Sa!-l!-t!
0171nobodyさん2012/07/29(日) 00:19:01.14ID:???
Saltと名付けたのは日本人である
0172nobodyさん2012/07/29(日) 00:29:35.22ID:???
>>165
ユーザーごとの固定値だけど?
0173nobodyさん2012/07/29(日) 00:38:27.53ID:vJAmmsLG
phpを極めると童貞卒業できますか?
0174nobodyさん2012/07/29(日) 00:46:30.63ID:???
>>172
一生懸命考えてそれかよ
0175nobodyさん2012/07/29(日) 00:59:19.35ID:LFlFhPeY
jsとかhtmlファイルみたいに公開ディレクトリにおくファイルって一般的になんて呼びますか?
0176nobodyさん2012/07/29(日) 01:00:20.75ID:???
>>175
http://toro.2ch.net/test/read.cgi/tech/1327197884/
0177nobodyさん2012/07/29(日) 01:03:20.68ID:???
>>165
saltの要件は徳丸さんが決めるのか?
0178nobodyさん2012/07/29(日) 01:10:55.93ID:???
>>177
見苦しいからそろそろやめろよ
変なソース持ちだしてきたやつが言うセリフとは思えねえな
0179nobodyさん2012/07/29(日) 01:13:52.28ID:???
>>178
そろそろって、この件では初めて書き込んだんだが・・・
>>165が初めてsaltを知ったみたいでイタかったんで

まあsaltの件は終了だな
0180nobodyさん2012/07/29(日) 01:15:29.42ID:???
はいはいw
そのセリフを先に持ちだしたやつに言わないで
本人じゃないって言われても誰が納得するんだw

疑問形ばっか投げてくるやつでわかり易かったよ
0181nobodyさん2012/07/29(日) 01:22:24.72ID:???
なんだ、勘違い妄想野郎か
0182nobodyさん2012/07/29(日) 01:25:41.67ID:???
>>142が天才で>>143が馬鹿だったということだ
0183nobodyさん2012/07/29(日) 01:31:24.02ID:???
>>128
>>140
>>141
>>158
>>161
>>165
>>178
>>180
誰が誰だかよく分からんが、
俺の見たところ、こいつらがバカだな
0184nobodyさん2012/07/29(日) 01:36:21.55ID:???
SOHOスレに帰れよ突っかかり厨
必死杉なんだよwww
年収3000万()ならもっとゆとり持てwww
0185nobodyさん2012/07/29(日) 01:39:05.71ID:???
回答者様、深夜遅くまでありがとうございますm(__)m
0186nobodyさん2012/07/29(日) 01:40:03.75ID:???
>>184
誰と闘ってるんだwww
0187nobodyさん2012/07/29(日) 01:42:04.77ID:???
俺には見えるんだな色々と
0188nobodyさん2012/07/29(日) 01:44:13.39ID:???
よく分からんが、がんばって勝利しろよ!
0189nobodyさん2012/07/29(日) 01:45:14.91ID:???
ありがたく思えよ?恥だけ晒したsaltの話題の尻拭いしてやってんだからな
■ このスレッドは過去ログ倉庫に格納されています