【PHP】下らねぇ質問はここに書き込みやがれ 70
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/06/25(水) 10:14:08ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは970が立ててください立たなかった場合は980よろ
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0714nobodyさん
2008/07/11(金) 14:38:45ID:???サポセン的なことをなぜここでやらないといかん
ということじゃね?
0715nobodyさん
2008/07/11(金) 14:50:54ID:???昔は技術は盗んで覚えろと言われたものだが、
こういう情報を共有する云々という人は、
世間でいわれるスイーツ脳ってことかな。
0716nobodyさん
2008/07/11(金) 15:00:27ID:???バカ
0717nobodyさん
2008/07/11(金) 15:04:46ID:???21世紀には不釣合いだ
0718nobodyさん
2008/07/11(金) 15:05:34ID:???そりゃ最低限の事は自分でやるべきだと思うが
トンデモな奴なんてどこにでもいるだろ
0719nobodyさん
2008/07/11(金) 15:20:36ID:???$str = mb_strimwidth($str,0,18,'...');
上記のように記述し$str(日本語文字列)を9文字で切りたいのですが、
$strにスペースや・が含まれていると7文字しか入らず、
最後に文字化けした文字が付きます。
なぜこのような現象が発生するのでしょうか。
また、どう記述すれば文字化けせずに表示されますか?
0722nobodyさん
2008/07/11(金) 15:35:55ID:???ありがとうございます。
encodingをすっとばしていたのが原因でした。
設定したところ文字化けもなく表示されました。
とても勉強になりました。
0729nobodyさん
2008/07/11(金) 17:05:35ID:???0731nobodyさん
2008/07/11(金) 17:18:56ID:???出来ないことは無いが、非常に手間がかかる。
ttp://d.hatena.ne.jp/masugata/20061011#p2
どんな処理をするのか知らんけど、他の方法で実装した方が良いと思うぜ?
0733nobodyさん
2008/07/11(金) 17:28:51ID:???0734nobodyさん
2008/07/11(金) 17:33:17ID:???__, ノ} _,
ヾミ、 ,イl| ,ィツ
ヾミ、 ノリlj'; ,ィ彡イ
〉ミミY杉ハ='杉彡"
'^".:.:.:.:.:.:.::.:`丶{
/:.:.:.:.:.:.:.:.:.:.:.:.:.:.::.:.:.ヾミ三ニ≡=-ッ-
/ :.:.:.:.:.:.:.:.:.:.'.彡''"´ ̄
r==〈r==≦ミ :.:.:.:.ヽ.:.:.}
{:.::::儿_:::::.:::.:}}≠======--、:}
弋彡'iゞr-=彡 f⌒ハ
レ;;公^;ヽ . : :.: :. r' リ <オマエには無理だろな
爪rェェ弍 . : :.: :.:::.r-イ
川ーニ´jj{ . : :.: :.:: : イ
巛爪z从} ∠ニ=ヘ
ゞ巛巛lリ _ _,∠二二、\
 ̄ {/ ̄ \ \
/ ヘ. ヘ
/ ∨ ,ハ
{ __ 「::レフ r::v‐ァ く::∨ '、
/(::c' |:::;〈 〉:::/ `ヘ |
{ヘ `¨└^¨ `¨´ Y' | |
/.ハ | | |
0735nobodyさん
2008/07/11(金) 17:36:38ID:???0737nobodyさん
2008/07/11(金) 18:13:19ID:???undefってのが内部的にどういう動作してるか知らないから憶測だけど
0738てんちゃん
2008/07/11(金) 19:29:55ID:Z3Uae7Hu80番ポートをたたいて
いるのですが、どうもHTMLソースしか抜けません。なんか方法ありますか?
telnet ホスト 80
GET /index.php
0739nobodyさん
2008/07/11(金) 19:37:20ID:???そろそろ夏休みだろ
9月になったら教えてやるから、
夏休み中にオライリーの本全部読んどけ
http://www.oreilly.co.jp/catalog/index.html
0740nobodyさん
2008/07/11(金) 19:42:20ID:???telnetで接続してhttpで取得してるんだからそりゃhtmlが返ってくるでしょうよ
どちらかというとunix板の話題なのでそちらへGO
0741nobodyさん
2008/07/11(金) 19:46:39ID:???0742てんちゃん
2008/07/11(金) 19:52:14ID:Z3Uae7Huおぉ(´・ω・`)さんくす
これ理解できたらPHPのソースコード抜けるかな〜
0743nobodyさん
2008/07/11(金) 19:56:42ID:???公開されていない他人のサイトのphpやらcgiのソース見たいとかいうやつ
0744nobodyさん
2008/07/11(金) 19:59:25ID:???0745nobodyさん
2008/07/11(金) 20:02:28ID:???セキュリティーが甘いサイトは、
phpソースを表示させる方法はあるけど、
本来表示することを意図していないページを意図的に表示要求をすることは、
アクセス禁止法に抵触するとした東京高裁の判決が去年出ているから、
逮捕されるぞ。
0746nobodyさん
2008/07/11(金) 20:04:30ID:???だとしたら抜けたらセキュリティーホールだろ
脆弱性をついてやると不正アクセスになるからやめなさい
0747てんちゃん
2008/07/11(金) 20:09:30ID:Z3Uae7Hu教えてほしいですな
自分のサイトパスクラされて、こんな挑戦受けたんですよ(´・ω・`)
FPはセキュリティホールがあるから簡単にソースが抜けてパスクラもできるらしいです。
パスワード返してくれない…
http://tool-4.net/?jsjsjs
0748nobodyさん
2008/07/11(金) 20:16:01ID:???0749nobodyさん
2008/07/11(金) 20:17:26ID:???その方法を教えて君が逮捕されたら、俺まで巻き添えを食うわけだが。
それなら、仕返しの方法は簡単。運営者に言えば、
向こうが相当面倒なことになるだけ。
俺のサーバーにもSSHの認証をランダム文字列でクラックしよういう馬鹿な奴がいるが、
日本にあるプロバイダーならログ提出して猛抗議して、契約解除させられている。
日本のメジャーなプロバイダーなら、今は結構積極的に対応してくれる。
あとは、pingとかポートスキャンしている奴のプロバイダーにも相当文句言っているが。
0750てんちゃん
2008/07/11(金) 20:30:42ID:Z3Uae7Huソフト使ってもいいです。ソフト名だけわかってもいいです。
WEBアプリケーションの脆弱性は結構勉強したので知っています
昔はヌルバイト攻撃も通じたし。XSSも通じました。なのに今は対策されています。
やりかたさえ教えてもらえればあとはググルので。
全部丸投げはしません。
やった奴のIPをアクセスログより確認して、アクセス禁止にしたいのです。
0751nobodyさん
2008/07/11(金) 20:35:09ID:???0752nobodyさん
2008/07/11(金) 20:36:58ID:???0754nobodyさん
2008/07/11(金) 20:39:51ID:???0755nobodyさん
2008/07/11(金) 20:40:14ID:???0758nobodyさん
2008/07/11(金) 20:49:16ID:???0759てんちゃん
2008/07/11(金) 20:51:03ID:Z3Uae7Huランダムに
$data = arrary(a,b,c,d,e,f…);
と、全てのアルファベットと全ての数字を配列に納め、配列からランダムに取り出して、
あらかじめ入手しといたHTMLのログインページの変数
?id=自分のID&pass=配列で作成したパスファイル&mode=logincheck
で、
whileで、見つかるまでループさせて、
file_get_contents
でファイルを取得し、ソースも取得し、そのソースに
"パスワードが違います";
以外の文字だったらパスワードとみなして、表示する。
というPHPを考えたのですが、どうでしょうか?
他鯖に負担がかかるかな…
0760nobodyさん
2008/07/11(金) 20:54:28ID:???0761nobodyさん
2008/07/11(金) 20:55:04ID:???>と、全てのアルファベットと全ての数字を配列に納め、配列からランダムに取り出して、
負担どうこう以前に一生見つかりませんね^^;;;;;;;;
0763nobodyさん
2008/07/11(金) 21:00:43ID:???>でファイルを取得し、ソースも取得し、そのソースに
なんつう突っ込みどころ満載wwwww
0764てんちゃん
2008/07/11(金) 21:03:06ID:Z3Uae7Hu一応通報はしときましたけど、対応はいつになるやら不安です
FPのセキュホってXSSですか?
0765nobodyさん
2008/07/11(金) 21:04:27ID:???0766nobodyさん
2008/07/11(金) 21:05:14ID:???話についていけなくて俺涙目
0767nobodyさん
2008/07/11(金) 21:05:47ID:RxUTiv/Sたとえば$hogeだったら文字列のhogeを取得する方法ってある?
0768てんちゃん
2008/07/11(金) 21:06:50ID:Z3Uae7Huうーん
やっぱりセキュリティホールなかなか見つからないですね
0769てんちゃん
2008/07/11(金) 21:09:48ID:Z3Uae7Hu訂正で
http://tool-6.net/edit.cgi?id=あなたのID&mode=logincheck&yourp=パスワード
だから、変数は
$_GET['id']
$_GET['yourp']
$_GET['mode'] ==logincheck
こういう意味です。
0771nobodyさん
2008/07/11(金) 21:13:15ID:???そういうことをやっていいのは自分のサーバーだけ
常識無さすぎだぞ・・・
0772nobodyさん
2008/07/11(金) 21:15:44ID:???このゲームcgiっぽい仕様を調べろとでもいってるのか?
0773てんちゃん
2008/07/11(金) 21:18:21ID:Z3Uae7Huhttp://tool-1.net/
0774nobodyさん
2008/07/11(金) 21:19:21ID:???そりゃわかんねーわw
ロリポやxreaとか有名どこならまだしもなぁ
0775nobodyさん
2008/07/11(金) 21:24:09ID:???パス変えられただけでしょ?
0778nobodyさん
2008/07/11(金) 21:57:26ID:7DrXvr8B実行速度が気になると思うんですが、みなさんはどうやって効率的な
速度の速いプログラムの書き方を身に着けましたか?
phpでそういうのを詳しく解説した本とかあるんでしょうか?
少なくともこういう処理は必須という「ノウハウ」があれば教えてください
環境はapache2/php5でお願いします 特にSQL処理関連について意見もらえれば嬉しいです
0779nobodyさん
2008/07/11(金) 22:03:23ID:???O/Rマッパ使うならそれに依存するし、
直にDBに投げるSQLならチューニング次第。
実行計画でも見ながらSQLチューニングしろ。
つかSQLだったらスレ違いだな。
0780nobodyさん
2008/07/11(金) 22:04:37ID:???もっと力をつけたら、実行速度はあまり気にしなくなるけどねw
全体で数秒かかっている処理の、数ミリ秒なんて気にしたってしょうがないし。
重要な部分が、問題になるくらい遅ければ手をつけるけど。
その次は開発速度を気にするようになる。
どれだけ何も書かないで作るか。
えっと、どうやって身に着けたかだっけ?
速いプログラムのアルゴリズムはどういう仕組みになっているか勉強することだね。
SQLというかRDBMSね。の場合だと、JOINはどういうアルゴリズムで
データを結び付けているかだとか、インデックスはどういう実装(B木とか)で
どういう理屈で早いのかとか。
0781nobodyさん
2008/07/11(金) 22:05:07ID:???0783nobodyさん
2008/07/11(金) 22:10:21ID:???0784nobodyさん
2008/07/11(金) 22:12:19ID:???言語に依存しないものだから。
言語に依存するやり方は、バッドノウハウでしかない。
言語やバージョンが変わると使い物にならない。応用力が身につかない。
0785708
2008/07/11(金) 22:19:48ID:???" を閉じ忘れていたのが原因でした。
0786nobodyさん
2008/07/11(金) 22:20:40ID:???いや、Javaはオブジェクト指向を取り入れた通常の開発をすれば、
間違いなく遅くなる。メモリーも食う。速度的には不利。
じゃ、言語に依存せずwebシステムにとって何が重要か?
早く開発する必要もないはないが、不十分。
webで特に求められているのは、全体の運用コストが安くなる開発。
その解の一つがオブジェクト指向なんだが。
>全体で数秒かかっている処理の、数ミリ秒なんて気にしたってしょうがないし。
そもそも、1reqestに数秒かかる処理が問題。
最適化すれば相当早くなるケースも相当ある。
それは、phpコードの最適化もそうだし、php以外の技術も使うが。
0787nobodyさん
2008/07/11(金) 22:24:16ID:???0788nobodyさん
2008/07/11(金) 22:27:21ID:???そういう奴が一番やっかい。
いわゆる秋葉系の部類だよ。
本人は、できる技術者って勘違いしているだから、たちが悪いわ。
0789nobodyさん
2008/07/11(金) 22:30:19ID:???数秒もかかる処理。それを大幅に縮めるには
ロジックそのものを変えないといけないことがほとんど、
そしてそのロジックはPHPに限ったものじゃないことがほとんど
0790nobodyさん
2008/07/11(金) 22:30:19ID:???それはテンプレート的な覚え方をしてるからだ。
「方法」ではなく、速度を上げる「理屈」を覚えれば、色々と応用は利くぞ。
0791nobodyさん
2008/07/11(金) 22:32:13ID:???うん。そしてその「理屈」はPHP限定のものじゃないよ。
どの言語でも使えるものだし、PHPでももちろん使えるもの。
速度アップにあまり言語ってものを意識することは無いんだよね。
0792786
2008/07/11(金) 22:34:22ID:???同意。
数学で、数式を覚えるのではなく、数式に至るまでの展開を覚える方が、
応用問題に対処できるのと一緒ってところか。
0793nobodyさん
2008/07/11(金) 22:35:15ID:???PHP限定のなら山ほどあるがな。
0795nobodyさん
2008/07/11(金) 22:36:38ID:???そういう話で、言語にこだわる人って、本質がわかっていないと思う。
漢数字じゃだめだよ。アラビア数字を使わなきゃ。みたいな。
0797てんちゃん
2008/07/11(金) 23:22:33ID:Z3Uae7Huさっきからずっと試しています。
21番ポートもダメでした
0798nobodyさん
2008/07/11(金) 23:41:16ID:???0799てん
2008/07/12(土) 00:25:37ID:xw9p7232これは普通には開けません。.htaccessで、.datのつくファイルをアクセス拒否しています。
このチェック機構すり抜けれますか?
0801nobodyさん
2008/07/12(土) 00:46:54ID:???0802nobodyさん
2008/07/12(土) 00:49:59ID:lql6772u0804nobodyさん
2008/07/12(土) 03:04:46ID:z/JSD44Zlist(,$val)のように書くとどのような動作をするんでしょうか
<?php
$arr = array ('one', 'two', 'three', 'four', 'stop', 'five');
while (list(, $val) = each ($arr)){
if ($val == 'stop'){ // stopの文字列あれば処理抜け
break;
}
echo "$val<br />\n";
}
?>
0805nobodyさん
2008/07/12(土) 03:39:00ID:???each()はarrayのkeyとvalueを返すのでlistでvalueのみ受け取ってるだけ
0806nobodyさん
2008/07/12(土) 03:50:27ID:GP2h4Bov処理的に高負荷で可読性の悪いことしてると思うけど
たぶんPHP初期のころの素人の書いたコードだろうな
keyとvalがとりたければ
foreach ( $arr as $key => $val )
とすればいいだけ
無意味な処理だ
0807nobodyさん
2008/07/12(土) 04:58:27ID:???PHP/FIまでforeach構文はなかった。
ついでに言うと、$array as $key=>$val と list($key, $val)=each($array) のパフォーマンス上の違いはほとんどない。
実際に計測してみればよく分かる。
0808nobodyさん
2008/07/12(土) 05:50:41ID:???0809nobodyさん
2008/07/12(土) 08:11:12ID:GP2h4Bovstep数で考えると
list($key, $val)=each($array)の方がstep数が多くなる
パフォーマンスに違いが無いなら
可読性がよくてstep数が短い方がいい
ちがうんか?ワレぼけ
0810nobodyさん
2008/07/12(土) 08:18:16ID:GP2h4Bov今どき使ってる化石みたいやついるの?
foreachさえあれば何でも出来るのによお
0811nobodyさん
2008/07/12(土) 12:05:30ID:???ここのベンチマーク結果だと、5倍くらい差があるね
0812nobodyさん
2008/07/12(土) 12:36:02ID:lql6772u■ このスレッドは過去ログ倉庫に格納されています