【PHP】下らねぇ質問はここに書き込みやがれ 28
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2006/09/03(日) 21:01:08ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・質問者は必ずIDを表示させてください。(メール欄に何も記述しないでください。)
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
(逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
(荒らし、煽りは除く。逆に煽られたときも、無闇に反論せずスルーすべし)
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0864nobodyさん
2006/09/15(金) 18:18:22ID:???スルーできる場合も多いからな。
0865nobodyさん
2006/09/15(金) 18:18:30ID:???0866nobodyさん
2006/09/15(金) 18:19:41ID:???0867nobodyさん
2006/09/15(金) 18:20:42ID:???0868(^ω^) ◆shPHP/.kPI
2006/09/15(金) 18:25:34ID:???絶対必要でもなければ絶対不要でもない。
でも、いまさら高校の教科書とか参考書とか引っ張り出して調べている姿は決してかっこよくないんで、覚えておいて損はないよ。
で、数学だけ出来ても物理の知識不足で悩むことになる。
0869nobodyさん
2006/09/15(金) 18:30:10ID:???記号論理学の先端は数学だけど
0870nobodyさん
2006/09/15(金) 18:44:40ID:???0871nobodyさん
2006/09/15(金) 18:51:34ID:???別に数学できるほうがシステム設計できるより偉い、なんていう図式はどこにも存在しないんだから、Web開発者に数学能力求めてどうこう言う必要はない。
0872859
2006/09/15(金) 18:52:09ID:???もう一度いわせて
「PHP」 ってオマエらwww
0873nobodyさん
2006/09/15(金) 18:56:38ID:???0875nobodyさん
2006/09/15(金) 18:58:04ID:???そういう奴に限って、偏差値出す程度のことでも戸惑ったりするんだよなw
数学できる奴なら、5分もありゃできることを、わざわざライブラリー探してきたりしないといけないし
そのライブラリーにバグがあっても、数学ができないと数値がおかしいことに気が付かないのでそのまま納品してしまう
0876nobodyさん
2006/09/15(金) 19:01:31ID:???0877nobodyさん
2006/09/15(金) 19:03:04ID:???0878nobodyさん
2006/09/15(金) 19:06:32ID:???数学できないやつ(文系のやつ)は、グラフ作成、表作成、高度な演算に戸惑うし
応用力が無いことが多すぎ
なんていうか、表面しか理解していないから、新しい脆弱性などにも対応できない
例えば、Shift_JISを使っていると、ダブルクォートの中にユーザ入力値を、一般的なエスケープ処理をしてからいれても (&, <, >, ", ' のエスケープ)、XSSを発生させることが可能。
最後を、1バイトの " と連結するような文字コードを入れることで不正な2バイト文字とブラウザは判断し、php側で出力した「"」が無いことになって、次のユーザ入力値でXSS攻撃ができるからね
最近、2年ぐらいになって、Shift_JIS は危険、と騒ぎだされたが、文字コードの特長やビット演算ができれば、そういうことが起きるのは当たり前だとわかるし、
漏れは5年以上前から外部からの知識なしに自分でそれを把握して、対策してた
今では当たり前となったCSRFもいま高木さんが言ってる方式で当時から対応してたしね
なんでもかんでも、どこかから入手できた 「知識」 で対応できるとおもったら大間違い
この移り変わりが激しい世の中で最先端を行くには思考力、そして表面的な知識ではなくビット演算や各文字コードの特長、通信プロトコルの仕組みなどの基礎が重要
なくても、そりゃ一般的な業務プログラムは問題なくつくれけどね
0879859
2006/09/15(金) 19:06:44ID:???「PHP」 = IQの低いバカ用の(ry
0881859
2006/09/15(金) 19:20:07ID:???バカで貧乏人www
0882nobodyさん
2006/09/15(金) 19:30:10ID:???そういえば、自らの国家や民族に固執する右翼系の若者が世界的に増えているという事実も、多少気になるところだが。
0883871
2006/09/15(金) 19:32:19ID:???いや、俺はいちおう計算機科学の院生でかなり理論寄りなことやってて、数学にもどっぷりつかってるけど、システム開発で金稼いでるプロの連中はスゴイと思うよ。
859みたいにPHPの容易さと設計の難しさの区別もつかない世間知らずがいるようなので、ちょっと言ってみただけ。
0884nobodyさん
2006/09/15(金) 19:33:26ID:???愛国心を持とうレベルの発言で右翼認定されるような日本の現状があるしな。
数学が必要な分野と不要な分野があるだろうし、そこに固執するのは本質ではないだろ。
0885nobodyさん
2006/09/15(金) 20:10:59ID:???0886nobodyさん
2006/09/15(金) 20:33:36ID:???0887nobodyさん
2006/09/15(金) 20:51:52ID:???>853の質問の答えは出てるんだから、もういいだろ。
そんなに議論がしたいならよそに行ってくれ。
0888nobodyさん
2006/09/15(金) 20:57:29ID:???0889nobodyさん
2006/09/15(金) 21:00:10ID:???・・ちなみに自分は理系です。
頭はよくないけど人並みには数学知ってると思います。
文系の人だって高校レベルを理解してるなら全然問題ないと思います。
0892nobodyさん
2006/09/15(金) 21:08:38ID:???phpからPerlで書かれたCGIを呼び出せますか?
例えば以下のようなプログラム(whoamiの結果を返す)を実行したいのです。
ブラウズ上だと実行できないので、書き方に問題があると考えているのですが。
よろしくお願いします。
<?php
print system("/usr/bin/perl test.cgi");
?>
--test.cgi
#!/usr/bin/perl
print "Content-type:text/html\n\n";
print `whoami`;
0893nobodyさん
2006/09/15(金) 21:12:33ID:???セーフモードだったりすると動かないかも。
それ以前にwhoamiってフルパスで書かないと動かないと思うけどね。
0894892
2006/09/15(金) 21:19:23ID:???早速ありがとうございます。
フルパスでもダメでした。
ブラウズ上から直にtest.cgiを実行すると大丈夫なんですよね。
後、ローカルのコンソール上から以下のコマンドでも実施出来る事を確認済です。
php5 (phpのファイル名)
いったいどのようにすればブラウズ上から実行できるのでしょうか?^^;
0895nobodyさん
2006/09/15(金) 21:21:25ID:Llhzape20896892
2006/09/15(金) 21:27:58ID:???パーミッションの問題でした。
suEXECを導入しているのですが、system関数から呼び出すとsuEXECは動作してくれないんですね。
ありがとうございました。
0897nobodyさん
2006/09/15(金) 21:35:38ID:JKh10NJ7PHPはどのように組み込めばいいのですか?
0898nobodyさん
2006/09/15(金) 21:51:50ID:???インストールのことなら
http://www.php.net/manual/ja/install.php
0899nobodyさん
2006/09/15(金) 22:01:45ID:JKh10NJ7>>897修正
ウェブページにアクセス制限のphpを組み込みたいが、
htmlがわからない。
0900nobodyさん
2006/09/15(金) 22:20:45ID:???詳しくはマニュアル嫁
まぁ、諦めてベーシック認証にしとく方がいいと思うがな
0902nobodyさん
2006/09/15(金) 22:27:52ID:JKh10NJ70904nobodyさん
2006/09/15(金) 22:46:40ID:JKh10NJ7http://www.php.net/manual/ja/
を見ても何がなんだかわからない。
phpは触らないで置こう、できる気がしないorz
0905nobodyさん
2006/09/15(金) 22:54:59ID:UAoaNmQp$queryの値が下の様に、OKの時と空の時とあります。
name=NULL
name=\s
name=OK
で、これらにマッチするもの全てを
name=NANASHI
にしたいのですが、下に様にしてもうまくいきません。
preg_replace('/name=OK\s?/','name=NANASHI',$query)
どすれば良いのでしょうか?
0906nobodyさん
2006/09/15(金) 22:55:26ID:JKh10NJ7ttp://www.abcoroti.com:8081/~wiz/
0907nobodyさん
2006/09/15(金) 22:55:38ID:???Webサーバー(Apache等)の設定を変更して
.htmlという拡張子のファイルをPHP実行するようにしないといけない。
それがAddTypeという設定項目。httpd.confや.htaccessなどで設定する。
0908nobodyさん
2006/09/15(金) 22:59:03ID:???$query = preg_replace('/^name=(|OK|\s)$/', 'name=NANASHI', $query);
かな
0910nobodyさん
2006/09/15(金) 23:08:04ID:JKh10NJ7nekoteをindex.htmlファイルで使用したい。
この時、index.phpにはせず、index.htmlでnekoteのkillhost.phpを
作動させ、アクセス制限をしたい。
この場合に使用するHTMLなどを教えて欲しい。
お願いできないだろうか?
0911nobodyさん
2006/09/15(金) 23:11:23ID:UAoaNmQpアドバイスありがとうございます。
だめでした。
name=OKOK
となってしまいます。
後、言葉足らずでしたが、という風に埋め込まれてたりします。
name=OK
&name=OK&arg2=9
0912nobodyさん
2006/09/15(金) 23:12:07ID:???>>907
すでに.htmlでPHPが動くように設定されてるサーバーならともかく、
そうでないならHTMLをいくら修正したところでPHPは一切動作しない。
0913nobodyさん
2006/09/15(金) 23:16:23ID:JKh10NJ70914nobodyさん
2006/09/15(金) 23:16:25ID:UAoaNmQpうまくいったくさい。
最後に$つけるの忘れてました。
なんか、動きそうです。ありがとうございました!
0915nobodyさん
2006/09/15(金) 23:21:59ID:???ついでに質問ですが
preg_matchでは[a|b]が出来るのに、preg_replaceでは[a|b]は不可
なんでしょうか?ずっと、[]で囲んでました。()は後ろの配列に入れる時だと
ばかり思っていました。勉強不足ですね。
0916nobodyさん
2006/09/15(金) 23:24:54ID:???[〜] で括るときは | 無しで [ab] だと思うけど。
でもこれだと OK みたいな文字列は処理できないよね。
0917nobodyさん
2006/09/15(金) 23:26:06ID:JKh10NJ7ttp://www.abcoroti.com:8081/~wiz/index.php
こうなってしまう。どうすればいい?
0919nobodyさん
2006/09/15(金) 23:29:26ID:JKh10NJ7nekoteのkillhost.phpというファイルをindex.php、またはindex.html
で動作させたい。
なのに何故自分で作るのはやめたほうがいいのだろう?
0920nobodyさん
2006/09/15(金) 23:31:16ID:???>この場合に使用するHTMLなどを教えて欲しい。
HTMLの範疇では不可能。
次の手順を実行する必要がある。(Apacheの場合)
1. Apacheの設定ファイルhttpd.confまたは.htaccessに
AddType application/x-httpd-php .html
を追加。
2. index.htmlのどこかに、<?php include '[killhost.phpの場所]';?>を追加
killhost.phpが
/home/someone/killhost.php
に有る場合は
 :<?php include '/home/someone/killhost.php';?>
を追加する。
>>917
<?php include '/home/wiz/public_html/nekote/killhost.php';?>
ただ、ライブラリはpublic_html以下に置くのはいかがなものかと。
0921nobodyさん
2006/09/15(金) 23:37:26ID:JKh10NJ7次の手順自体わからない。
第一、public_htmlに置かないといけないサーバー。
0922nobodyさん
2006/09/15(金) 23:40:36ID:JKh10NJ7index.phpあるいわindex.htmlにどうやればnekoteを組み込めるのか。
動作できるのか。
0924nobodyさん
2006/09/15(金) 23:49:36ID:???出来ますでしょうか?
例えば
$message="こんにちわ!ご機嫌いかがですか。";
↓表示
<storng>こんにちわ!</strong>ご機嫌いかがですか。
※この例で言うと、$messageに「こんにちわ!」と入っていたら、表示画面では
太字になるstrongが付くという意味です。
0925nobodyさん
2006/09/15(金) 23:51:30ID:???index.phpの1行目に
<?php include('./nekote/killhost.php'); ?>
の1行を入れればいけねー?
0928924
2006/09/15(金) 23:57:07ID:???ありがとうございます。以下のようにstrtrを使っていたのですが、
この場合は何か不都合がありますでしょうか?
前にきいた時に、良くないと言われました。。
<?php
$str="<太>こんにちわ!</太>";
echo strtr($str,array("<太>"=>"<strong>","</太>"=>"</strong>"));
?>
0929nobodyさん
2006/09/16(土) 01:03:40ID:???別に構わん気もするが、日本語を含む変換はmb系の関数を使った方がいいかもね。
でもこの程度なら誤変換することも無いんじゃないの?
0931nobodyさん
2006/09/16(土) 03:04:23ID:UtRrdu7Lalt=$titleだと大丈夫なのですが、alt="$title" だとエラーがでます。
前者の場合、タイトルの中に半角スペースが入っていると途中で切れてしまうため
alt="$title"を使いたいのですが、良い方法はありませんか?
0932nobodyさん
2006/09/16(土) 03:45:58ID:???0933nobodyさん
2006/09/16(土) 07:29:40ID:???おそらく alt="$title" の前後にも " があるから
" alt="$title" "
エラーになってあたりまえ
0934nobodyさん
2006/09/16(土) 09:24:46ID:Y53T7tZb<?php
if(headers_sent()){echo "ダメ!";}else{echo "OK!";}
?>
結果:ダメ!
何故でしょう・・・・○| ̄|_
0936nobodyさん
2006/09/16(土) 09:54:54ID:???OS:Vine3.2
php5
現状の設定では、下記のファイルを以下のように書き換えてます。
/etc/apache2/conf.d/php5.conf
# Apache2 module
#<IfModule !sapi_apache2.c>
#LoadModule php5_module modules/libphp5.so
#AddType application/x-httpd-php .php .phtml
#AddType application/x-httpd-php-source .phps
#DirectoryIndex index.php index.phtml
#</IfModule>
# CGI
Action php5script /cgi-bin/php5-cgi
AddHandler php5script .php
DirectoryIndex index.php
それでもモジュール版で動作しているようで、whoamiを使ったphpプログラムでは
apahceのユーザ名で返されます。
CGI版で動作させる場合の設定が不足しているようです。
アドバイスをお願いします。
0938936
2006/09/16(土) 10:10:07ID:???suexecのバイナリはVineに備わっていたものではなく、
自分でコンパイルしたものを使用してます。
ただしphpを有効にするような設定?はコンパイル時に指定した記憶はありません。
もう少し具体的にお話を伺えないでしょうか。
よろしくお願いします
0939936
2006/09/16(土) 10:20:24ID:???現状として、phpの拡張子でsuEXECを動作させるための設定が不足しているとは睨んでいるのですけど。
よろしくお願いします。
0940nobodyさん
2006/09/16(土) 10:37:53ID:???modとCGIの両方を動かそうとして上書きしてません?
0941nobodyさん
2006/09/16(土) 10:38:44ID:???いや、suEXECとして動かす前にCGIとして動かすことだと思う。
本当にそのphp5.confは読み込めてるの?
別のファイルがインクルードされてたってオチはない?
>>937
>>936の書き込みのどこ見たらPHP側で設定してるように見えるんだ。
0942nobodyさん
2006/09/16(土) 10:44:40ID:???0943936
2006/09/16(土) 10:46:10ID:???php5.confが読み込めているかどうかは、あやしいですね。
apt-getで取得したphp5のconfだったので、改めて確認するまでもなく、読み込まれていると考えてました。
恐縮ですが、php5.confの読み込み設定確認はどちらで行うのでしょうか?
httpd.confでしょうか?php.iniでしょうか?
(どちらにも、php5.confの記述は無い事を確認しました。)
よろしくお願いします
0944nobodyさん
2006/09/16(土) 10:53:42ID:???httpd.confのどっかに
Include etc/apache2/conf.d/php5.conf
って1行を書いてやる必要があるんじゃないの?
php5.confはそのままだとただのサンプル設定だと思う。
0945nobodyさん
2006/09/16(土) 10:58:56ID:???conf.dを使う場合は
Include conf.d/*.conf
という記述で、ディレクトリ内の*.confを全部読み込む指定にするもんだと思う。
>>943
conf.d内にphp5.conf以外にもphp設定をしてるファイルが混じったりしてないか?
0946936
2006/09/16(土) 11:09:04ID:???httpd.confに以下の記述はありました。
Include conf.d/*.conf
また、conf.dには以下のファイルしかありませんね。
ls /etc/apache/conf.d
README php5.bk php5.conf php5.conf~
結論で言えば、php5.confは読み込めていそうですね。
それでもphpの拡張子でsuEXECが動作しないのは何故だろう。
ほかに原因として考えられる事はありますか?
よろしくお願いします。
0947nobodyさん
2006/09/16(土) 11:18:48ID:???リスタートしてなかったら大爆笑だがw。
0948936
2006/09/16(土) 11:38:51ID:???もしかしたら?と思って、OSのリブートましたけど、ダメでしたねw
CGI版で動いてなければ、モジュール版で動いているはず。
しかし、php5.confは修正済。参りましたね。
ちょっとお風呂入ってリラックスしてきます。
0949nobodyさん
2006/09/16(土) 11:42:35ID:???そもそも、apacheはreloadもしくはrestartしてる?
あと、vineだとapache2とapacheがあるとおもうけど、動いてるのはどっちか確認した?
0951nobodyさん
2006/09/16(土) 12:17:18ID:Spq9TZy5[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-\.]+\.[a-zA-Z]+
ところがこれだと、トップレベルドメインの末尾に数字があってもマッチしてしまいます。
たとえば、「test.com」はOKだけど「test.com5」はNGにしたいのですが、
この正規表現では何がマズイのでしょうか?
0952936
2006/09/16(土) 12:18:26ID:???なるほど、phpinfo()でCGI版か、モジュール版を確認出来るのですね。
下記にphpinfo()を公開します。
どの項目に明記されているかをご指摘いただけないでしょうか。
お手数ですが、よろしくお願いします。
ttp://210.139.207.242/~kozu/index.php
0957936
2006/09/16(土) 12:22:58ID:???やはりそこでしたか。
ありがとうございます。
ということは、現在phpはCGI版で動作しているので、
suEXECがphpの拡張子で動作しない理由は他にある。
って感じですよね。
0958nobodyさん
2006/09/16(土) 12:35:06ID:???0959936
2006/09/16(土) 12:38:25ID:???以下の設定が不足している事が判明しました。
いろいろとお世話になりました。
ありがとうございました。
httpd.conf
AddHandler /cgi-bin/ .cgi .php
0960936
2006/09/16(土) 12:54:36ID:???httpd.conf
AddHandler cgi-script .cgi .php
0961951
2006/09/16(土) 15:11:10ID:Spq9TZy5[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-\.]+\.[a-zA-Z]+$
で、解決したようです。
ありがとうございました。
0963nobodyさん
2006/09/16(土) 15:21:49ID:???そういうふざけたチェックするなよ
メールアドレスに "!" などを使っている漏れはどうすればいいんだ?
いっとくが、ドット2連続で使うやつと違って、RFC準拠の正当なメールアドレスだからな
Perlでもphpでもメールアドレスの正当性チェックするモジュールあるんだからそれ使えばいいじゃん
面倒だったらせめて、
^[a-zA-Z0-9!$&*.=^`|~#%'+\/?_{}-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,4}$
にでもしとけ。
レス数が950を超えています。1000を超えると書き込みができなくなります。