【PHP】下らねぇ質問はID出して書き込みやがれ 79
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/01/13(火) 21:48:25ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 78
http://pc11.2ch.net/test/read.cgi/php/1230026935/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
0176170
2009/01/17(土) 01:00:35ID:???返信ありがとうございます。
私自身も今までこの設定でやってきたんですが、
もしUTF-8で作った掲示板を誰かがブラウザの表示で
文字のエンコードを変えてPOSTで送信してきたら
セキュリティ的に大丈夫なのかなと思いまして・・
変な質問ですいません。
0177nobodyさん
2009/01/17(土) 01:01:53ID:???0178nobodyさん
2009/01/17(土) 01:19:40ID:sXvdxnWv大丈夫だよ。
誰もphp.iniをのぞかないから。乗っ取られない限り
0179170
2009/01/17(土) 01:35:59ID:???例えば先程書いた例の通り掲示板にSJISの文字コードで
こんにちはとPOST送信してきた場合その言葉を内部でUTF-8に
エンコードしない限りSJISとして処理され
データベースに格納されてしまうのかなと疑問に感じまして・・
今日確認目的でマルチバイトの設定ファイルの勉強を再度したら
頭がごちゃごちゃになってしまいました。
変な質問本当にすいません。
0180nobodyさん
2009/01/17(土) 01:57:53ID:???0181nobodyさん
2009/01/17(土) 02:12:55ID:???valueを日本語にして送信されたvalueと内部の値を比較する。
0182170
2009/01/17(土) 02:23:40ID:???セキュリティというか文字化けですね。
掲示板の投稿やショッピングサイトのユーザ登録を作る時に
ブラウザから文字コードの違うテキストがPOST送信されてきた場合、
内部の文字コードに適切に処理するプログラムでいつも対処するべきなのか
疑問に感じました。
例えばIEのメニューから表示→エンコード→シフトJISに切り替えて
POST送信した場合、フォームに記述したモノは
全てシフトJISで送信されるんですかね?
なんか書きながらすごい自分自身幼稚な事を言ってる気がします。
読んでいただいてありがとうございます。
0183nobodyさん
2009/01/17(土) 02:24:40ID:???聞いたことよりもやってみた結果のほうが何倍も信用できるだろ?
0184nobodyさん
2009/01/17(土) 02:33:55ID:???ブラウザ上でユーザーが明示的に
UTF-7にして、そのデーターを送信してきたら
アタッカーが意図的にjavascriptのコードを仕込んできて、
XSSやCSRFの原因になることがあるよ
詳しくはググれ
0186nobodyさん
2009/01/17(土) 02:35:34ID:???0187nobodyさん
2009/01/17(土) 02:36:11ID:???危ないだろ。
シフトJISでは防げない攻撃がある。
だからシフトJIS自体を使うのをやめましょうね、
って流れになってる。
0188nobodyさん
2009/01/17(土) 02:38:46ID:???0189nobodyさん
2009/01/17(土) 02:39:41ID:???SQLインジェクションだけ考えればいい。
そっから取ってきたデーターを画面に
表示するときは、htmlspecialcharsでサニタイズが必要。
0190nobodyさん
2009/01/17(土) 02:40:08ID:???0191nobodyさん
2009/01/17(土) 02:41:14ID:???「OSコマンド・インジェクション」への注意が必要。
通常、ユーザーの入力値をそのままOSに渡したりしてはいけない。
バカがメール送信プログラムとかでよくやる。
0192153
2009/01/17(土) 02:46:02ID:ElVqoJ54よろしくお願いします
0193nobodyさん
2009/01/17(土) 02:46:54ID:uOghFGaK・サイト内検索
・ログイン、ログアウト
・ユーザー登録
・データベース管理
あとどんな技術が必要?
0197nobodyさん
2009/01/17(土) 03:00:05ID:???0198170
2009/01/17(土) 03:02:18ID:qiM85KnNまだまだ勉強不足なのでこれから一層努力していきます。
0199nobodyさん
2009/01/17(土) 03:03:20ID:???0200nobodyさん
2009/01/17(土) 04:17:01ID:???んですけど、なぜでしょう?デフォルトの挙動ではないのか。
ちなみに,
fputcsv($fp, $data, ',', '"')としても結果は同じだた。
0201nobodyさん
2009/01/17(土) 04:26:55ID:???0202nobodyさん
2009/01/17(土) 05:31:32ID:3kZEDG7gレス番、名前、メール欄、・・・・、本文、、
みたいな感じでテーブルにずらーと管理されてるのかな
想像絶するようなデータ量だと思うんだけど、そのようなことが本当に行われているのか。
それともphpでdatからこの部分参照、検索みたいなことやってるのかな。
気になってしょうがないので、なんとなくでいいので教えてください
0203nobodyさん
2009/01/17(土) 08:35:28ID:???未来検索ブラジルってとこが2chのログをインデックス化して
検索できるようにしてるだけ
なんのDBが使われてるかはしらないが当然DBは使われている
簡単にいえばGoogleみたいなもんだ
0204nobodyさん
2009/01/17(土) 09:52:48ID:???詳細はぐぐれば分かる(もしくは説明しても分からない)から大雑把に言うと、
DBからインデックス(本の末尾に単語とページ数の対応表があるだろ、あんな感じ)を事前に生成し、そいつを使って検索する。
(もしかしたら公開版のsennaより高性能なものを使っているかもな)
まあ、その辺は内部処理なので、呼ぶ側からは普通にSQLで検索かけているように見えるんだけどな。
昔の2chはMySQLだったので、いまもそうじゃないかと思うが、断言は出来ない。
それと、2chはPHPではなくPerlで動いている。
サーバー側の仕組みからして普通のwebサーバーとは異なるので、その辺のスクリプトと比較はできないけどな。
0205nobodyさん
2009/01/17(土) 09:56:44ID:???0207nobodyさん
2009/01/17(土) 10:03:16ID:???0208nobodyさん
2009/01/17(土) 12:22:02ID:???DBに何使ってるのかは俺はシラネ。
他の人のレスにもあるように、大規模データのindex化の手法っていうのは色々あるので、
sennaの開発元でもあるし、頭の良い人は何かえーよーにやっとるのでしょう。
俺みたいな凡人は、頭の良い人が考えた技術を後からありがたーく使わせてもらうまでw
ちなみにgoogleなんかはDBのエンジンからして自社開発だけどね。
0209nobodyさん
2009/01/17(土) 12:32:22ID:???(゚Д゚)ポカーン
0212nobodyさん
2009/01/17(土) 12:45:10ID:???0213nobodyさん
2009/01/17(土) 12:47:16ID:???0214nobodyさん
2009/01/17(土) 12:51:01ID:???0216nobodyさん
2009/01/17(土) 14:28:31ID:???0217nobodyさん
2009/01/17(土) 14:30:28ID:???0218nobodyさん
2009/01/17(土) 14:44:09ID:???MySQLとリプレース可能なものだと思われても困るがな。
分散DBですらない、OSIでの複数層をぶち抜くような謎システムだし。
0219nobodyさん
2009/01/17(土) 14:48:15ID:???だとしたらdat要らないんじゃ
0222nobodyさん
2009/01/17(土) 17:43:22ID:???php+MySQLで、datの場所だけはsqlで管理して、本文なんかはdatからphpで検索するのと
あらかじめdatの内容がMySQLにインポートされたものを、phpで検索するのとでは
どれくらい差が出てくるんだろうか
0223nobodyさん
2009/01/17(土) 17:59:37ID:???というかファイルベースとDBの基礎
0225178
2009/01/17(土) 18:19:04ID:sXvdxnWvutf-8は携帯も如徐に対応してきているからな。
utf8で行こう。
もちろんサニタライズとmysql_real_escape_stringはしような
0226nobodyさん
2009/01/17(土) 18:25:47ID:???あうーはいまだにUTF-8を安心して使えないのだが。
0227nobodyさん
2009/01/17(土) 18:30:17ID:sXvdxnWv0228nobodyさん
2009/01/17(土) 19:11:59ID:???0229nobodyさん
2009/01/17(土) 19:44:31ID:???0230nobodyさん
2009/01/17(土) 21:55:20ID:???最近は実はeucでも大抵対応してたりします。
でも、やはり携帯向けの出力はSJISが良いです。
携帯については、docomoがSJIS大好きでその過去の遺産を引きずり続けてるので仕方ない。
>>226
PHP側のソースコードはUTF-8で書いて、出力をSJISにすればいいです
入出力をSJISで扱う際は、SoftBank(3G)の絵文字がdocomoやauの絵文字とコードが被ってるのでご注意を
0231nobodyさん
2009/01/17(土) 23:06:48ID:sXvdxnWv0233nobodyさん
2009/01/17(土) 23:50:41ID:???オレはおまじない的にSJISじゃなくてSJIS
0234nobodyさん
2009/01/17(土) 23:51:38ID:Bf8FDb6YPHPの仕事がしたいのですが、どんな試験に合格すればPHPの仕事が来ますか?
0236nobodyさん
2009/01/18(日) 01:18:16ID:8k82vHSn試験なんかいらんよ。
趣味でPHPでサイトとか作ってみて、そこそこ作れるようになったら
未経験可のネットベンチャーに潜り込んでプログラマとしての実務経験を積む。
実務経験ができたら好きなとこに転職。ここらへんは努力次第。
0237nobodyさん
2009/01/18(日) 01:59:05ID:NtnUHZUGあるぞ。
少なくともrubyよりは
0238192
2009/01/18(日) 02:55:33ID:ahiVKrb+0239nobodyさん
2009/01/18(日) 02:58:30ID:???が変なところに入っている。消せ。
0240nobodyさん
2009/01/18(日) 03:00:42ID:???具体的にはcssにphpを埋め込んで動的にWebページのレイアウト(背景画像など)を変えたいです
0242nobodyさん
2009/01/18(日) 04:07:10ID:FyU5dhg9これらの権限を確認する関数などはありますか?(クラス名と変数名を受け取って権限を返すような)
0243nobodyさん
2009/01/18(日) 04:19:01ID:???http://www.php.net/manual/ja/language.oop5.reflection.php
0245nobodyさん
2009/01/18(日) 08:08:39ID:5/8C6AICこのページに
「bindParamは値が実行時評価なので、
コードがトリッキーに見える。保守性があ
まりよくない。よって、bindValue推奨。」
、、、って書いてあるのだが、本当?
0246nobodyさん
2009/01/18(日) 08:56:31ID:FY9pgzCK「ソ」が入った単語がfalseになるみたいだけど、
マッチさせる方法ありますか?
<?php
error_reporting(E_ALL | E_STRICT);
mb_internal_encoding('Shift_Jis');
$str = 'ソウル在住のペーが主演する冬ソナはNGワードにする';
echo '<pre>';
var_dump(mb_ereg('ソウル|冬ソナ', $str));
die;
0247nobodyさん
2009/01/18(日) 09:07:41ID:???0249nobodyさん
2009/01/18(日) 10:20:35ID:???それなんてエスパー?内部エンコ無視してUTFで処理できんの?
mb周りの他の設定がないと正しいアドバイスなんてできないだろ。
0250nobodyさん
2009/01/18(日) 10:29:03ID:???(゚Д゚)・・・・
0252nobodyさん
2009/01/18(日) 12:41:04ID:???SJIS止めましょうというのが正解だけど、取りあえずは
mb_regex_encoding()
の指定で何とかなるかも。
知ってるかもしれないけど、SJISは2byte目に\x5c(要するに「\」)を含む文字があるので、
理由についてはその辺りを調べておくといいよ。
0253nobodyさん
2009/01/18(日) 12:47:54ID:???確かに、複雑な正規表現と一緒で、第三者が見るとパッと見で何やってる
のか分かり難い事はあるよ。でもそれってコードの書き方やコメントで
幾らでも回避出来るので、bindParamの利便性を否定する理由にはならないと思う。
0254nobodyさん
2009/01/18(日) 12:50:23ID:???携帯なら○-winは必須ですね〜
例えば、SJIS-win=cp932なので、
携帯絵文字を含む文字列を変換する際、○-winを付けておかないと上手くいかない。
○-winを付ける理由というのは、要するに扱う文字列の範囲が変わるって事だけど、
携帯向けの開発経験が無くて知らない人もいるかと思い、一応補足してみた。
0255nobodyさん
2009/01/18(日) 12:59:52ID:2lVr2uZSこれは仕様なんでしょうか?
サーバのドメイン(hoge.jp)は同じです
http://www.hoge.jp/m/hoge.php中で、以下のようにしてます
require_once('https://www.hoge.jp/m/hoge.inc.php');
0256nobodyさん
2009/01/18(日) 13:08:49ID:???0257nobodyさん
2009/01/18(日) 13:11:31ID:???0258nobodyさん
2009/01/18(日) 13:12:23ID:???0259nobodyさん
2009/01/18(日) 14:13:15ID:???どっちでもいいがそもそもSSL通す意味あんの?
URLをインクルードした時点で帰ってくるのはテキストかHTMLなわけだけど
0261nobodyさん
2009/01/18(日) 16:01:53ID:2lVr2uZS定数を設定してるただの設定ファイルなんで、、問題ないかなと。。
他にも答えてくれた方、ありがとうございました
0263nobodyさん
2009/01/18(日) 17:23:15ID:???正規表現で使いたければ16進表記でpreg
0264nobodyさん
2009/01/18(日) 21:25:09ID:SRgQAS5C$a="アホ";
という変数があって
それが既にある配列の中にあるかどうかを調べてその配列内の文字列のキーを取得したいんですがいい関数ある?
$array(1=>"バカ",500=>"アホ",960=>"クソ",)
で、「アホ」を返したい。
あと関係ない質問だが
md5()ってマジで重複した文字列にならないんですか?
0266nobodyさん
2009/01/18(日) 21:45:52ID:???0267nobodyさん
2009/01/18(日) 21:48:14ID:???質問が矛盾してる、アホは値であってキーではない。
array(264=> "バカ", 500=>"アホ", 268 =>"クソ")
0268nobodyさん
2009/01/18(日) 21:57:35ID:???SHA-1でも衝突する可能性はあるでしょ。天文学的に低い確率でだが
暗号学的ハッシュ関数を期待するなら、最近はSHA-1も攻撃に成功しちゃったので
SHA-2系列が無難
0269nobodyさん
2009/01/18(日) 22:28:00ID:???0270nobodyさん
2009/01/18(日) 22:32:18ID:???0271nobodyさん
2009/01/18(日) 22:32:34ID:???0272nobodyさん
2009/01/18(日) 22:34:39ID:???0273nobodyさん
2009/01/18(日) 22:48:54ID:SRgQAS5Cサンキュー
とりあえずやってみるわ
0274nobodyさん
2009/01/18(日) 23:38:37ID:2lVr2uZS何か便利なツールをご存じないでしょうか?
よろしくお願いします
0275nobodyさん
2009/01/18(日) 23:56:19ID:???■ このスレッドは過去ログ倉庫に格納されています