【PHP】下らねぇ質問はここに書き込みやがれ 70
at PHP
[前50を表示]
100:nobodyさん
08/06/27 18:20:09
文字列の配列を , で連結するにはimplodeだけど
連結するときにそれぞれの文字列を ' ' で囲いたい。
泥臭く書くのはいくらでもできるけど 余計な変数を使わずに
エレガントに格好よく書ける?
101:nobodyさん
08/06/27 18:22:15
>>100
echo "'".implode("','",array('a','b'))."'";
102:JS
08/06/27 18:27:42
2chの掲示板の最新版スクリプトをダウンロードしたいのですが、どこかありますか?
103:nobodyさん
08/06/27 18:29:33
ぐぐる
104:JS
08/06/27 18:30:40
2007/12
から更新がな(ry
うらるあったら教えてください
105:nobodyさん
08/06/27 18:35:07
やふる
106:nobodyさん
08/06/27 18:36:25
>>101
これはひどい
107:nobodyさん
08/06/27 19:24:05
>>100
function add_quote($value){
return "'".$value."'";
}
implode(", ", array_map("add_quote", $array));
108:nobodyさん
08/06/27 20:00:06 FgqYA5k2
windows版PHP 5.2.6入れてみたのだけど、どうしてもphp_pgsql.dllの読み込みエラーになってしまうので、
windows版のPHP 5.2.5を探しています!
どなたか情報下さい
109:nobodyさん
08/06/27 20:04:48
>>108
URLリンク(www.php.net)
110:nobodyさん
08/06/27 20:18:42 FgqYA5k2
>>109
本当にありがとうございました!
111:nobodyさん
08/06/27 20:31:31 XX5w51Rl
php6やMYSQL6の話題が全然出てこないけど、
みんな使っていないの?
使っていたら、不具合の感じや良かった点とか聞きたいけど。
112:nobodyさん
08/06/27 20:41:41
どっかの廃スレで自演でもして盛り上げる
113:nobodyさん
08/06/27 20:45:27
ゲームの新作感覚かよ
114:nobodyさん
08/06/27 20:48:54 XX5w51Rl
っているか、php6は名前空間が使えるようになって、Javaと肩を並べる位になっているし、
MYSQL6だって、新しいデータタイプが増えた上に、処理が格段に早くなっているらしい。
なのに、話題にならない方が可笑しいだろ?
枯れた技術が最高だとか、詰まらない執着心を持った人の集まりかと勘ぐりたくなる。
115:nobodyさん
08/06/27 21:02:17
じゃあ話題出して
116:nobodyさん
08/06/27 21:04:05
仕 事 で 使 っ て ま す
117:nobodyさん
08/06/27 21:04:30
いや、だから>>114で話題書いたじゃん。
118:nobodyさん
08/06/27 21:07:24
ここはくだ質
雑談する場所ではない
119:nobodyさん
08/06/27 21:11:12
>>117
そんなの遥か昔に語りつくされてんだけど
120:nobodyさん
08/06/28 02:38:35
MySQLは板違いで論外として
PHP4/5はcurrentでまだ随時アップデートされてるんだけど
枯れた技術ってどういう意味?
121:nobodyさん
08/06/28 06:13:03
枯れた技術っていい意味で使うけどイメージ悪い感じがするね
122:nobodyさん
08/06/28 12:43:30
PHP4は枯れたと言っていいと思うが・・・
あとはセキュリティフィックスぐらいだろ?
123:nobodyさん
08/06/28 12:53:42
>>122
あれは枯れる前に捨てられたという感じが強いので
あまり信用する気にはなれない
124:nobodyさん
08/06/28 13:35:38
◆◆◆◆◆◆◆◆◆毎日新聞社による日本人への誹謗中傷◆◆◆◆◆◆◆◆◆
・母親は受験勉強をする息子の学力向上のためにフェラチオをする
・日本人女性の55%は、出会ったその日に男と寝る
・ファストフードは女子高生たちを性的狂乱状態におとしいれる
・ティーンたちはバイアグラを使ってウサギのようにセックスをする
・女子高生は、刺激のためにノーブラ・ノーパンになる
・日本の最新の流行 : 70歳の売春婦
・老人の売春婦の人気にもかかわらず、日本では小学生の売春婦にも仕事がある
・日本の若い看護婦は売春婦に勝る
・24時間オルガズムが止まらない病気で苦しむ日本人女性の数が増えている
・15未満の子供を対象とした疑似ポルノが日本に蔓延している
・OLの72%が、セックスをより堪能するために何らかのトレーニングを受けている
・人妻は気分転換の目的で昔の恋人に抱かれに行く
・主婦は郊外のコイン・シャワーで売春をしている
・日本男子は柔道や空手の部活で男相手に童貞を捨てている
・ほとんどすべての漁師は海でマンタとSEXしている
・まだ10代の少年から退職した老人までみんな2980円の手コキを利用している
・六本木のあるレストランでは、食事の前にその材料となる動物と獣姦する
※同社が全年齢向けコーナーで七年以上にわたり世界に向けて配信していたものの一部です
※同社の行為は日本人への偏見や人種差別、婦女暴行、幼児虐待を助長するものです
◆毎日新聞の英語版サイトがひどすぎる まとめ@wiki
URLリンク(www9.atwiki.jp)
◆毎日新聞問題の情報集積wiki
URLリンク(www8.atwiki.jp)
つまり日本人なら
URLリンク(www.vipper.net)
125:nobodyさん
08/06/28 14:55:55
PHPの吐いたバイトコードを見るにはどうすれば良いですか?
どんな風にコンパイルされるか知りたいです。
126:nobodyさん
08/06/28 18:08:12 Eb3UB5kL
質問です。
みんな、アップロードファイルのタイプ判別ってどうやってますか?
$strVal = $_FILES['upFile']['type'];
if($strVal != "image/jpeg"){
//JPGじゃないです
}
…というやり方で判別してるんですが、firefox2or3とsafari3では判別できてるのに
IE6ですべてを「JPGでない」と判定してしまいます
問題点やうまいやり方があれば教えてください。お願いします。
127:nobodyさん
08/06/28 18:15:28
>>126
やったこと無いけど、自分ならまず、
IE6の場合に$strValが何になってるか見ますけども。
128:nobodyさん
08/06/28 18:24:27
各フォーマットを調べ一致するか確かめる
画像ならGDがエラーにならないか確かめる
セキュリティの点から、ブラウザから送られた付加情報を信用してはいけない
129:nobodyさん
08/06/28 18:49:36
>>126
image/jpegが
image/pjpeg
にでもなってんじゃないの。
130:nobodyさん
08/06/28 18:55:47
拡張子でいいじゃん
いちいちバイナリを解析するなんてキチガイ沙汰
131:nobodyさん
08/06/28 20:42:10
>>130
URLリンク(d.hatena.ne.jp)
こんなエントリが。
RFI(リモートファイルインクルード)とかやられると困ったりするんじゃね。
132:126
08/06/28 21:14:07
>>127-130
ありがとうございました 対応できました
助かりました
133:nobodyさん
08/06/28 22:19:13 VC7dBI7a
session_start()でエラー出ちゃいますー
php5.2.6です
Warning: session_start() [function.session-start]:
Cannot send session cache limiter - headers already sent (output started at C:\web\test\jisaku.php:6) in
local\test\test.php on line 6
単なるソースはセッションによるアクセスカウンターです
<html>
<head>
<title></title>
</head>
<body>
<?
session_start();
if (isset($_SESSION["counter"])) {
$_SESSION["counter"]++;
print($_SESSION["counter"]."回目の読み込みです。");
} else {
$_SESSION["counter"] = 0;
print("はじめての読み込みです。");
}
?>
</body>
</html>
長くなってすいません。お願いします
134:nobodyさん
08/06/28 22:19:45
>>133
マニュアル
135:nobodyさん
08/06/28 22:24:47
早漏
136:nobodyさん
08/06/28 23:00:20
>>133
エラーメッセージに書いてある通り、HTTPヘッダが出力された後にsession_startしてもエラーでる。
<html>の前に処理して下さい。
137:nobodyさん
08/06/28 23:10:51 6GRXIQcO
しつもんです。
php5.2.3です。
LAN内の話なんですが、
サーバからクライアントのMACアドレスを知りたくて、
$arp = `arp クライアントIP`;
echo "$arp";
っていうphpを
クライアントからアクセスしてみたんですけど空の結果しか返ってきません。
arpってphpじゃ実行できないんですか?
ちなみにarpじゃなくてlsとかなら普通に結果が表示されます。
あとサーバではarpは問題なく実行できます。
138:nobodyさん
08/06/28 23:52:39
apacheの枠で軽労働しかしていないPHPに無理難題を言ってやるなボケ。
139:nobodyさん
08/06/29 00:23:07 no0HV7ZX
PHP5で、UTF8でプログラムしてます
hoge.php?category=パスタ、スパゲッティ でリンクされたページで、
$var = $_GET['category'];
print htmlspecialchars($var);
としたところ、
「パスタ、スパゲチEィ」と出力されます
IE6です。fx3やsafariではなりません、正常に書き出されます。
どこが問題なのでしょう? 教えてください、よろしくお願いします
140:nobodyさん
08/06/29 07:01:51
そもそもURL欄に全角文字入れるのが間違いで、urlencode()しておくべきかと思われます。
141:nobodyさん
08/06/29 08:26:52
PHPはスクリプト自体をメモリにキャッシュして高速に動作できますが
それでもpythonには速度で負けますでしょうか。いろいろ調べても見つからなかったので
ご存知のかた教えてもらえればうれしいです。
142:nobodyさん
08/06/29 09:24:33
>>141
URLリンク(golf.shinh.org)
143:139
08/06/29 10:40:30
>>140
なるほど firefoxで無事に動いてたんで気づきませんでした
知らなかった ありがとうです
144:nobodyさん
08/06/29 11:24:46
質問:basic認証以外で各ディレクトリに閲覧制限をかける方法はありますか?
目的としては、アップロードした各会員専用画像ファイル置き場を、本人と管理者以外からアクセスできなくしたいです。
会員は複数で、会員同士が共有するわけではなく、あくまで個人用ファイル置き場、という条件です。
145:nobodyさん
08/06/29 11:32:55
このスレ的に解答するなら、各ディレクトリはhttpdが直接アクセスできない場所にして
phpで会員の有効チェック後に画像を出力するコードを書け
146:nobodyさん
08/06/29 11:37:53
なるほど。早速その方向性でやってみます。ありがとうございました。
147:nobodyさん
08/06/29 13:19:40
>>146
自分は使ったこと無いけど、Apache なら mod_xsendfile 使うとパフォーマンス的に幸せになれるかも。
148:nobodyさん
08/06/29 17:48:58
>>142
これってコード見れないの?
149:nobodyさん
08/06/29 20:47:57
mod_xsendfileについてもっと詳しく書け
150:nobodyさん
08/06/29 21:00:10 96o86FsF
phpが有名なサイトでは全く実績がないのはなぜでしょうか?
ことごとく、Javaで作られていると聞きます。
派遣で仕事をしている人間に聞くと、
phpはソースが筒抜けで、ユーザーに見えてしまうと言っていました。
私のサイトのphpで作っていますが、
プロがみると、ソースが見えてしまっているのでしょうか。
ただ、ソースが見えなければブラウザをレンダリングできないわけですから、
見えること自体ごく自然のことだとも思いますが、
それを仕様として提示していないことが、大手制作会社の不信感を招いているのかもしれません。
151:nobodyさん
08/06/29 21:23:49
お前は何を言ってるんだ
152:nobodyさん
08/06/29 21:53:42
日本語でおk
153:nobodyさん
08/06/29 21:56:36
これはひどい
154:nobodyさん
08/06/29 21:58:14
有名なサイトと言われても曖昧で判らないな。
Javaの需要があることは認める。
ソースが筒抜けって誇張表現なんじゃない。
ソースが見えなければブラウザをレンダリングって意味不明。
大手制作会社の不信感?
155:nobodyさん
08/06/29 21:58:18
マジレスする気も失せるなw
156:nobodyさん
08/06/29 21:59:51
まずJavaで作られている有名サイトを列挙していってもらいたいな
157:nobodyさん
08/06/29 22:10:42
> 有名なサイトでは全く実績がない
ヤフーって無名サイトだったんだ・・・
158:nobodyさん
08/06/29 22:12:51 96o86FsF
言葉足らずですみません。
たとえば、派遣会社の求人検索サイトで、
PHPよりもJavaの方が検索数が多く、
また、内容も保険や金融など大規模なサイトと思われるものばかりです。
Javaも同じインタープリタ言語ですし、
中間コードにコンパイルしたから速度が優位だといっても、
PHPだってeAccelelatorなど中間コードにコンパイルして速くする方法が存在するわけで、
速さ優位だとは思いません。
で、結局はソースが見えるか見えないかですが、
ブラウザがサーバーからソースを受信してレンダリングする際に、
ブラウザにとってはソースが筒抜けになるわけですよね。Javaにしても。
パケット透過ツールを使用すれば一目瞭然です。
だから、それを仕様として挙げていないphpの不透明感が、
大手制作会社がクリティカルミッションに使おうとする気に
させないのだと考えたのですが。開発会議でクライアントに突っ込まれる可能性もありますし。
159:nobodyさん
08/06/29 22:14:17
お前開発しちゃ駄目、絶対
160:nobodyさん
08/06/29 22:14:57
楽天もPHPでしょ?
161:nobodyさん
08/06/29 22:15:58
>>159に同意
162:nobodyさん
08/06/29 22:20:12
>>158
発注や求人はJavaが多いかもな。
Javaでサイト作る需要>JavaでWebサイト作れる人ってことでしょ。
それなりのところなら自分でPHPでサイト作れるだろ。
レンタルでPHPが使えるサイト多いしプロじゃなくても作れる。
JavaもPHPもブラウザが実行しているわけじゃないよ。
Webサーバで実行してその出力が送信されブラウザはHTMLを表示してるんだよ。
ということでそれ以降の発言はクライアントにまだしてなくて良かったね。
163:nobodyさん
08/06/29 22:20:46
あまりにかわいそうだからマジレスするけど・・・
PHP(or JAVA)のソースと、HTMLソースの違いがわかってからここに来てね♪
おたふくソースとも違うからね☆
164:nobodyさん
08/06/29 22:22:11 96o86FsF
phpのスレでphpを否定するような発言をしてすみません。
ずっと疑問に思っていたので、ぶつけてみたのですが、
期せずして反感を買ってしまってしまって申し訳ありませんでした。
私は純粋に技術論をお聞きしたかっただけです。他意はないです。
この質問は撤回します。
お騒がせしました。
165:nobodyさん
08/06/29 22:22:46 3JlRTfJh
.
166:nobodyさん
08/06/29 22:26:20
>>150におすすめなオライリー本↓
167:nobodyさん
08/06/29 22:26:37
test
168:nobodyさん
08/06/29 22:27:45
ユーザからphpのソースが見えるとか言ってる人とどう技術論を語ればいいんだ
169:nobodyさん
08/06/29 22:30:32
クライアント側で実行すると勘違いしちゃってる人だろ>>164は
なんで、こんなところにいるんだろう
170:MEH
08/06/29 22:30:38 3JlRTfJh
どうもこんにちは。
メタルミッキーというサイトにある通常レス式掲示板を、スレッド式掲示板にしようと頑張っているのですが、スレッド一覧をどのように取得したらよいかわかりません。
よし、やって教えてやろう!という方は是非教えてください。待ってます。
参照:
URLリンク(metalmickey.genin.jp)
171:nobodyさん
08/06/29 22:31:40
>>158
俺は趣味でPHPをちょっと勉強しているだけでよくわからないが、
PHPやJSPなどのHTMLのなかにスクリプトとかを混在して書くタイプは大規模に向いてないかもね。
PHPのバージョンでだいぶ違うとかも関係してるかな。
Javaでのは大規模が多いから人手がいるのかもね。
>>164
反感買ったのはその通りと思うけど
俺個人的には撤回でなかったことにすることよりも
ブラウザがJavaやPHPを実行しているわけではないと判ってくれたよね。
172:nobodyさん
08/06/29 22:38:15
反感は買ってないと思うぞ
どちらかと言うと呆れて開いた口が塞がらない感じ
173:nobodyさん
08/06/29 22:39:00 96o86FsF
たびたびすみません。
ソースが見えるというのは、たとえば、
共通のphpとしてinclude("./common.inc");とした場合に、
エラー表示が、common.incの何行目にエラーが出てしまうと、
悪意のユーザーがcommon.incを直接指定すると見えてしまうからです。
もちろん、Javaでもエラー画面でstacktraceで表示されますが、
それをたどってどこのクラスでNullPointerExceptionが出ているとわかっていても、
直接ソースをみる方法はありません。それはコンパイルされているからです。
あと、Javaはwebサーバーで実行されるという発言されている方がいましたが、
Javaのコードは通常アプリケーションサーバーです。
ソースが見える見えないという点で言えば、やはりJavaであり、
クリティカルミッションに使われる理由なのではないかと思った次第です。
色々とご意見を頂きましてありがとうございます。
174:nobodyさん
08/06/29 22:41:21
>>173
一つだけ忠告しておくとだな、開発会議に参加しないほうがいいぞ
特にクライアントがいる会議にはダメ絶対
175:nobodyさん
08/06/29 22:42:43
俺はPHPは無理強いされない限りは絶対に使わん超アンチPHPな人間だが、別にJavaより劣るとも脆弱だとも思わんよ。
単に、使う人間がPHPしか使えず、PHPで入門したプログラミング初心者ばかりだから、PHPは低く見られるんだよ。
悪いのはPHPではなく、使う人間のスキルが低過ぎること。
たとえば、PHP界隈では、rfc2616やrfc2822を熟読していたら、ほとんど神扱いだろ。
他のWeb系の言語・開発環境では、ありえない。だって、それが最低限度だから。
176:nobodyさん
08/06/29 22:48:45
>>173
common.incはパーミション変えたりcommon.phpに変えるべきだってどっかで見かけたことある。
普段そんなこと忘れてるけど。
Javaはwebサーバーで実行されるって俺が言ったんだけど
>Javaのコードは通常アプリケーションサーバーです。
俺には難しくてわかりません。
Javaアプレット?
Javaが使われていることは認めるがソースが見える見えないに拘るのがよくわからない。
Javaのよさってそこ?
177:nobodyさん
08/06/29 22:50:09
>で、結局はソースが見えるか見えないかですが、
>ブラウザがサーバーからソースを受信してレンダリングする際に、
>ブラウザにとってはソースが筒抜けになるわけですよね。Javaにしても。
>パケット透過ツールを使用すれば一目瞭然です。
よく分からんのだが、これはどういう意味?
178:nobodyさん
08/06/29 23:00:26
なんだよビビったじゃないかよ。
(アプリケーションサーバを調べてみた)
そりゃ3階層システムのミドルにPHPはないね。
179:nobodyさん
08/06/29 23:00:26
>>175
> たとえば、PHP界隈では、rfc2616やrfc2822を熟読していたら、ほとんど神扱いだろ。
> 他のWeb系の言語・開発環境では、ありえない。だって、それが最低限度だから。
技術者の善し悪しって、別にそんなところじゃないだろw。
RFCなんかを例に出して奴の方が痛い。
javaがphpに比べて優れているのは大規模な開発の設計がやりやすい事。
あとは、堅牢性や分散処理する際など、色々メリットは大きい。
180:nobodyさん
08/06/29 23:00:28
>>173
見られて困るものは見られる場所に置かねーよwwww
181:nobodyさん
08/06/29 23:02:28
圧倒的にphp、ひいてはインタプリタ言語の知識が足りないんでは。
182:nobodyさん
08/06/29 23:06:24
>>178
URLリンク(itpro.nikkeibp.co.jp)
183:nobodyさん
08/06/29 23:10:03
>>173
ミドル層のJavaとフロント層のPHPを比較することがおかしくない?
PHPを使うことがありえないけどミドル層ならPHPのソースがユーザに見えないでしょ。
フロント層で変な文字受け取ってエラーでしょ。
俺って煽っていると思われて反論されたのかな。
184:nobodyさん
08/06/29 23:11:42
趣味でやってる俺でも、見られちゃまずいものはドキュメントルート外に置いたり、.htaccessでdenyするよ……。
Webアプリのセキュリティの知識足りないんじゃ。
185:nobodyさん
08/06/29 23:12:21
>>182
XSSって怖いね
186:nobodyさん
08/06/30 00:38:40
ところでサーバーでそのまま出力できるファイルをincludeしてはいけません。かしこ
187:nobodyさん
08/06/30 00:49:40
このスレの住民って、評論家タイプばかりで実務やったことない人ばかりのようだね。
188:nobodyさん
08/06/30 00:52:38
私の統計によればプログラマの90%は自称です。
189:nobodyさん
08/06/30 00:53:07
>>173
納品先のクライアントがソースコードを見れるってことの間違いではないの。
PHPは確かにソースそのまま納品するから、内容見られるかなぁとか思うけど。
190:nobodyさん
08/06/30 01:11:01
ぜんどがーどがあらわれた
191:nobodyさん
08/06/30 02:12:26
だいたい本業でphpやっている奴がここに来るわけないじゃん。
こんな残業続きで、2chすらみている暇がないんだから。
俺は、今は過労によるパニック障害で休養中だ。
192:nobodyさん
08/06/30 04:14:37 7Iaq6WLH
apache1.3と2.2
PHPを走らせるのに適したバージョンはどっちですか?
193:nobodyさん
08/06/30 04:15:37
>>192
好きなほうどうぞ
今更1.3xを入れるやつはいないと思うが
194:nobodyさん
08/06/30 05:13:01
【やりたいこと】
テンプレ通りに作ったhtmlファイルが50個ある。
各ファイルのn行目とm行目のデータだけを取り出し、別ファイルにまとめたい。
///////////////現在のアルゴリズム//////////////
1.fgetsをn回空ループ
2.N行目でfgets。
3.空ループ
4.M行目でfget。
array[][n.m]に保存
///////////////////////////////////
array[][n,m]をファイルに出力
///////////////////////////////////
とやっているのですが、無駄が多いように感じます
fseek()も試してみたのですが、ファイル先頭からのバイト数は変動するので、中々うまくいきません。
ファイルポインタを任意の行の先頭に移動させる関数はないのでしょうか?
195:nobodyさん
08/06/30 05:34:32
file関数
196:194
08/06/30 05:58:21
>>195
fileを使うとソースは綺麗になるのですが、ファイル全体を変数に収納してしまうため、処理速度が極端に低下してしまいました。
197:nobodyさん
08/06/30 06:15:27
それならその空ループが一番軽くて早いと思われ
198:nobodyさん
08/06/30 06:15:58
>>194
別ファイルに書き出すだけの処理ならPHPでやるようなことでもない
処理速度を求めるのであればPHPでやることじゃないね
199:nobodyさん
08/06/30 09:43:52
こんなことするバッチ作って連結
100行目だけ出力
head -100 ファイル名 | tail -1
200:nobodyさん
08/06/30 09:52:37
↓のようにしてファイルをダウンロードさせています。
これをブラウザで「保存」を選ぶと正常に保存できるのですが、「開く」を選ぶとうまく開けません。
どうもアプリケーションが開こうとしたときにはテンポラリファイルがなくなっているようです。
「開く」を選んでも正常に動作させるにはどうすればいいでしょうか?
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.$filesize);
$fp = fopen($filepath, "rb");
while (!feof($fp)) {
$contents = fread($fp, 1024*1024*5);
echo $contents;
}
201:nobodyさん
08/06/30 12:46:25
どうして肝心な所の情報を書かないんだろう
202:nobodyさん
08/06/30 13:06:05
どうして予想される場合わけがたった3つなのに答えられないのだろうか。
203:nobodyさん
08/06/30 13:17:50
質問者が煽ってるなw
204:nobodyさん
08/06/30 13:21:19
>>201
お前さんだって知りたい情報(肝心な所)が何なのか書いてないじゃないか。
205:nobodyさん
08/06/30 15:02:15
ダウンロードにコンテンツタイプって変な話だよな
206:nobodyさん
08/06/30 15:16:50
そうか?
207:nobodyさん
08/06/30 16:02:23
Content-Typeの指定がないとブラウザに内容表示したりメモ帳開いたりするかもしれないじゃないか。
208:nobodyさん
08/06/30 17:08:50
とりあえず、こちらで。
MySQL連携のプログラムを、UTF-8で作っています。
で、文字エンコーディングを変更するコード SET NAMES は アプリケーションから使うとSQLインジェクションの脆弱性につながる、
との記事を見つけました。
幸いにも、自分が使っているサーバーは mysqli_set_charset() が使えるので助かりましたが、この先の参考にも聞いておきたく思います。
本当に アプリケーション内で SET NAMES を発行するとSQLInjectionの脆弱性につながるのでしょうか。
また、もし、mysqli_set_charset 等が使えないサーバーの場合、どうすればよいのでしょう?
PHPなのかスレスレですが、ご助言いただけると幸いです。
209:nobodyさん
08/06/30 17:12:08
コンテンツタイプがコンテンツタイプでなくダウンロードの命令としていつまでも利用される歪みに疑問
仕方ないでしょうけど
210:nobodyさん
08/06/30 17:13:29
ダウンロードするためのアプリケーションが起動する、、、無理があるかなあ
211:nobodyさん
08/06/30 17:22:56
>>208
何で危険なのかがわかってればいいよ。
特に問題になるのは、エスケープ関連(SET NAMESだとエスケープAPIは
現在どのエンコーディングを使ってるかわからない)だし、
自分のとこの運用でどうしてるのか把握して問題ないのならいいでしょ。
212:nobodyさん
08/06/30 17:35:21
ほんとに下らない質問ですまん。
PHPでWEBの仕事してるプログラマーって、よくある一般的なイメージな残業、休日出勤な
プログラマーよりは残業時間とか少ないの?
人によりけりだと思うが、軽い気持ちで答えてほしい。
213:nobodyさん
08/06/30 18:00:50
スレ違いどころか板違いですよ
214:nobodyさん
08/06/30 18:15:19 LUnLRZ5m
URLリンク(nullpo.mobi)の仕組みが知りたいです
215:nobodyさん
08/06/30 18:28:19
1.クエリ取得
2.ランダムで1個選択
3.飛ぶ
216:208
08/06/30 18:45:53
>>211
まだSQLの知識が薄く、照合順序とか多すぎてよくわからないので、理解に時間がかかりそうですが……。
とりあえずは、SET NAMES は使わずに mysqli_set_charset なり mysql_set_charset なりのAPIレベルのもので、設定することにして、
SQLの知識をある程度蓄えてから、対策を練ることにします。
お早い回答、ありがとうございました。
# でも、持ってる参考書とか読んでも、文字コードの設定は SET NAMES...
217:nobodyさん
08/06/30 18:56:15
参考書に書いてあることなんて10%くらいしか当てにならないぜ?
218:nobodyさん
08/06/30 19:19:20
10冊買えば大丈夫
219:nobodyさん
08/06/30 19:25:18
>>212
案件の1つにPHPが入ってくるというのはあるが
だいたい普段は.他の言語でWeb以外のことをやっていたりする
つまり一緒だ
プロジェクトに遅れが出れば残業も休日出勤もあるし
そもそも早く終わったからといってノルマ達成で帰っていいよというわけにはいかない
やることがなければ自習になるが普通は何かしら手伝ったりすることになる
PHP専門でやってるような会社はないに等しい
大学生のベンチャーならありえるが
そういうところも将来的にはPHPのみってことはなくなってくる
まぁそんな都合のよい仕事はないので諦めてください
給料は都会のバイト並でよければ地方で探せばまったりな会社あるかもね
220:nobodyさん
08/06/30 19:48:51
>>215
クエリは取得出来るんだけどランダムに分割させる仕組みがどうしても分からないんです…
221:nobodyさん
08/06/30 19:59:29
array_rand
222:nobodyさん
08/06/30 20:05:31 Eb0PY41u
ちょっとした図書検索やりたいのに
意外にサンプル少ないんで泣いてまつ
書籍追加(確認窓もほすぃ
編集
削除
検索
モヌヌメの書籍、webあったらおしえて〜
apache2
php5
mysql5
linux
223:nobodyさん
08/06/30 20:09:16
PHPなんとかスーパーサンプルとかいうやつは?読んだことないけど
224:nobodyさん
08/06/30 20:20:34
>>200
何でだろうね?
小さいサイズのテキストファイル
Content-Transfer-Encoding指定なし
Content-Length指定なし
readfile($filepath);
だと開けた。
225:nobodyさん
08/06/30 20:41:23
>>223
立ち読みしたけど厚いだけだった
orz
筋肉痛になるじゃねーかw
226:nobodyさん
08/06/30 21:44:30
>>>222
基礎PHP。
DBとの連携が、まんま、それ、図書検索。
227:nobodyさん
08/06/30 23:08:40
>>226 dクス!さっき紀伊国屋で立ち読みして買ってきたお!
たしかにこれはそのままだ〜!
ってか書籍スレもあったのねw
228:nobodyさん
08/07/01 00:35:17 A4l+wdTU
require()でテキストファイルを呼びたいんですが
HTMLの前に$textfile="todo.txt"; として
書いてるんですが
require($textfile)で呼び込むと
todo.txtは呼んでるがそのままソースが全部出てきてしまいます
<HTML>
<HEAD>
<BODY>
内容・・・・
</HTML>
みたいな感じです。PHPの設定なんでしょうか?
229:nobodyさん
08/07/01 00:36:43
テキストファイルを呼んでるのにソースが出来たらまずい?ワケワカメ
230:228
08/07/01 00:37:45 A4l+wdTU
あ、すいません
勘違いしてました・・・
癖でTODOリストなのに・・・HTMLで書いてしまってました
申し訳ありません・・・
231:nobodyさん
08/07/01 00:39:30
HTMLではないということ?todo.txtの中身が表示されてはまずいの?何をどうしたいの?
232:228
08/07/01 00:45:06
すいません簡単なことで質問してしまって
テキストエリアにtodo.txtの編集書き込みが出来るようなソースを
書いていたんですが、todo.txtはテキストなのに
HTML文章で書いてしまっていただけです
HTMLで書いてたからタグが出てきたので気づいて消したら普通に
文章だけ表示されました。すいません
233:nobodyさん
08/07/01 14:51:09
たまにURLで
test.php?test
という形式で値の受け渡しをしているのを見かけるのですが
どうすれば受け取れるのでしょうか?
234:nobodyさん
08/07/01 14:56:17
環境変数QUERY_STRING
235:233
08/07/01 15:05:09
>>234
「php 空 name 値」とかでぐぐってて涙目でした
ありがとうございました!
236:nobodyさん
08/07/01 16:03:57
PDO SQLiteで、トランザクションを開始すると、PDO::ATTR_TIMEOUTが無効になるんだが
これってバグ??
237:nobodyさん
08/07/01 16:17:22
PDOを使うのはやめておけ。
原因不明のメモリーエラーで落ちる。
MySQL使った時、それで原因が特定できず大変な目にあった。
preparedを使いたいなら、自分で実装してくれ。それくらい簡単だろ?
238:nobodyさん
08/07/01 16:20:14
>>237
prepared statement使うならMDB2でいいじゃん。
239:nobodyさん
08/07/01 16:27:58
>>237
236ではないが、マジか。
この前使ってみて使いやすかったから、今度からこれ使おう、とか思ってたのに。
まだ、取れてないの? そのバグ。
240:nobodyさん
08/07/01 16:49:37
>>237
落ちたときのバージョンを教えて欲しい
241:nobodyさん
08/07/01 17:09:30
>>240
バージョンは、5.1.6
WindowsXP、BSD6.2の両方で使って、どちらでも落ちた。
起動してから時間が経つと、突然DBへ接続できなくなる。
再起動すると直る。永続的コネクションを利用しても利用しなくても落ちる。
で、同じ構成でphp標準のmySQL関数でやったら直った。
242:nobodyさん
08/07/01 17:57:28
今Linuxの5.1.6でPDOを使ってるけど、その現象は出てないな
5.2.1でprepareの無限ループバグをfixedってあるけど、使うSQLによって発生するんかね
243:241
08/07/01 19:06:47
思い出した、接続時にエラーは起きないけど、
参照するとデータがかえってこない。更新すると失敗する。っていう現象。
何回もデータが可笑しいのかと確認しちゃって原因究明にすごい時間がかかった。
速度が上がったわけでもないし、プリペアードのためだけだったから、すぐに標準関数に変えた。
それ以内何も起こらず、DBは連続稼働78日目。
244:nobodyさん
08/07/01 19:26:12 r/sMGUKq
データベース関係の話があがっているので、質問させて下さい。
私のシステムは、データベースへ接続するクラスを用意していまして、
あとは、各業務クラスに以下のようなコードを書いています。
$sql = "INSERT INTO ...";
$databaseClass->($sql);
あちらこちらの業務クラスに生のSQLが書いてあります。
抽象的なご質問ですが、このような実装をどう思いますか?
市販されている解説本を読むと、テーブル毎にデータベース接続用のクラスを分けろと
書いているものもあるのですが、それだと複数のテーブルをjoinする場合、
どちらのクラスに入れるべきか迷うので、そのような実装はしていませんでした。
結構、正規化しているテーブルが多いので、joinするSQLが少なくありません。
データーベースに関する良いクラス設計指針があればアドバイスお願いします。
245:nobodyさん
08/07/01 19:37:44
テーブル毎のCRUDを行うクラスは分けるとして
joinしてるSQLを発行するクラスは業務毎に纏めてクラスを分けてるな、俺は
業務モデルから業務DAOとテーブルDAOを呼ぶ感じで
246:nobodyさん
08/07/01 22:52:13 ZeCzXD4I
IIS+PHPでサバ立ててPHPにアクセスしたら認証がかかるんですが、これってどうすれば解除されるんですか?
普通のhtmlにアクセスしたら認証なんてないのに
247:nobodyさん
08/07/01 23:45:17 FRuokrT4
すみません、質問です
\1000という表示がIEとSafariで バックスラッシュ+1000 になってしまいます
\部分はSQLから引き出してるのではなく、PHPに直書きしてます
winXP、apache2、PHP5.2.3でUTF8を使っています どう対応すればいいでしょう?
アドバイスお願いします
248:nobodyさん
08/07/01 23:58:57
>>247
PHPはブラウザに依存しないサーバサイド言語で
すべて同じ結果が得られるようになっている
ブラウザによって表示が違うなどの不具合は
PHPとは関係ない
バックスラッシュになるのはブラウザの言語指定がおかしいからとか
そういったことが要因
\ではなく文字参照&yen;(&は半角で)で出力するなど工夫すべし
249:nobodyさん
08/07/02 00:42:01
>>236
エラーが起きる最小限のソースを。
>>241
5.2.0から5.2.6でPDOに関する数十ものバグが修正されているし、MySQLでおきたエラーがSQLiteで起こるとは限らない。
250:nobodyさん
08/07/02 00:45:28
>5.2.0から5.2.6でPDOに関する数十ものバグが修正されているし、
そんな情報どうして知っているの?
関係者?それとも逆コンパイルしてソースをcompareしたとか???
251:nobodyさん
08/07/02 00:55:51
お前は何を言ってるんだ
252:nobodyさん
08/07/02 00:58:37
バグ修正したって、もしかしてお前のプログラムのバグかよ???w
253:nobodyさん
08/07/02 02:09:08 TfVbJDoG
>>248
ありがとう! 感謝します!
254:nobodyさん
08/07/02 02:29:28
>>250
ChangeLogとか見ないの?死ぬの?
255:nobodyさん
08/07/02 05:51:58
>>246
IISの設定変更汁
256:200
08/07/02 10:40:54
header ("Cache-Control: must-revalidate, post-check=0, pre-check=0");
でできました。
URLリンク(jp2.php.net)
257:236
08/07/02 10:42:53
DBは a.db で、テーブルはcreate table a (i ingeger);とする
コマンドラインより、a.phpを実行後すぐに別端末からb.phpを実行する。
b.phpにおいてbeginTransaction();をコメントインすると、
PDO::ATTR_TIMEOUTが無効になる。
と、まぁこんなかんじです。
a.php ---------------
<?php
$pdo = new PDO('sqlite:a.db');
$pdo->setAttribute(PDO::ATTR_TIMEOUT, 5);
$pdo->beginTransaction();
$pdo->exec("insert into a(i) values(5)");
sleep(100);
$pdo->rollBack();
?>
b.php ---------------
<?php
$pdo = new PDO('sqlite:a.db');
$pdo->setAttribute(PDO::ATTR_TIMEOUT, 5);
//$pdo->beginTransaction();
$sth = $pdo->prepare("insert into a(i) values(10)");
if (!$sth->execute()) {
var_dump($sth->errorInfo());
}
//$pdo->rollBack();
?>
258:nobodyさん
08/07/02 10:47:24
ATTR_TIMEOUTはデータベースとの通信に対するタイムアウトです
259:nobodyさん
08/07/02 11:42:57
>$pdo->setAttribute(PDO::ATTR_TIMEOUT, 5);
>sleep(100);
ここは笑うところか
260:236
08/07/02 11:56:55
>>258
う〜ん、そういわれると仕様通りなのかなぁ
でも、トランザクションを開始しないときは、ちゃんと5秒待機するんだよな
sqlite_busy_timeout()と同じように動作させたいだけなんだが・・・
>>259
ソース見てわからないなら、笑ってたらよいと思いますよ
261:nobodyさん
08/07/02 11:59:11
なんだこのふてぶてしい態度w
262:nobodyさん
08/07/02 12:05:15 LR4oDanJ
phpで、
function array_collect($key, $array) {
$list = array();
foreach ($array as $arr) {
$list[] = $arr[$key];
}
return $list;
}
のような関数が標準であったりしませんか?
263:nobodyさん
08/07/02 12:06:18
トランザクション中じゃなかったら通信してない状態なのでは。
264:nobodyさん
08/07/02 14:44:04
>>262
array_fill_keysは?
265:nobodyさん
08/07/02 15:20:48
暇だったからJavaScriptでジャンケンゲーム作った
<html>
<head>
<title>じゃんけんぽん!</title>
<script type="text/javascript" language="javascript">
<!--
function Janken()
{
alert("あなたの負けです!");
}
-->
</script>
</head>
<body>
<input type="button" value="グー!" onclick="Janken()" />
<input type="button" value="チョキ!" onclick="Janken()" />
<input type="button" value="パー!" onclick="Janken()" />
</body>
</html>
266:nobodyさん
08/07/02 15:32:33
うーん、負けたぜ。
267:nobodyさん
08/07/02 15:40:56
>>265
ちょーつえー
どんなアルゴリズム使ってんだ?
268:nobodyさん
08/07/02 16:06:21
×アルゴリズム
○アルゴニズム
269:nobodyさん
08/07/02 16:15:23
>>268
何それ?
270:nobodyさん
08/07/02 17:18:28 YKp2VoP0
/htdocs
|
+-/admin <- 要認証
|
+-/form
|
form.php
こういうディレクトリ構造になっているところに、
/admin以下にBASIC認証やDigeset認証をかけました。
認証されていないform.phpから、認証がいるadminディレクトリ以下のファイルに書き込むことは可能ですか?
試してみるとOKだったのですが、もしかして事前に自分で認証してしまってそれで通ってしまったのかな?
と不安になったので質問しました。
271:nobodyさん
08/07/02 17:22:13
書き込むときにhttpd通ってないでしょ?
影響するのはパーミッションですね。
272:nobodyさん
08/07/02 17:41:28 l+FlpTuR
IMGのアクセスカウンタにリファラを付加することはできないでしょうか?
URLリンク(localhost)
<img src="URLリンク(example.com)" />
PHP側でリファラを取得すると、リファラが「URLリンク(localhost)」になってしまいます。
直接PHPを埋め込まないとダメなのでしょうか・・・?
273:nobodyさん
08/07/02 17:51:45
>>272
これでどう?
<img src="URLリンク(example.com)'HTTP_REFERER']" />
274:nobodyさん
08/07/02 17:53:53 l+FlpTuR
>>273
それって「$_SERVER['HTTP_REFERER']」という文字列を渡してるから意味なくね?
275:nobodyさん
08/07/02 17:59:20
それをヒントに意味あるものにしてみると言う発想はないのか
276:nobodyさん
08/07/02 18:00:03
書かれたまんまにしか理解できないのかよ・・・
277:nobodyさん
08/07/02 18:22:59
おチンチンびろーん
∩___∩
| ノ ヽ/⌒)
/⌒) (゚) (゚) | .|
/ / ( _●_) ミ/
.( ヽ |∪| /
\ ヽノ /
/ /
| _つ /
| /UJ\ \
| / ) )
∪ ( \
\_)
278:nobodyさん
08/07/02 19:15:19
>>274
お前はどこのスレでもダメだなぁ。
279:nobodyさん
08/07/02 19:40:20
俺もわからん
phpなのか
280:nobodyさん
08/07/02 19:55:08
そもそも呼び出し元がPHPならIMGタグ無くても解析できる。
JavaScriptが使える条件になるがJavaScriptで取って渡す。
281:nobodyさん
08/07/02 22:07:13
phpで仕事を2年くらいしていますが、
データベースと接続して、文字列操作するだけの仕事に尽きるのですが、
phpというかwebの仕事って、みんなこんな単調な仕事なのでしょうか?
もっと、特許がとれる位のアルゴリズムを考えるのが、
プログラマーの仕事だと思っていたので、
仕事に対するマンネリ感が積もっています。
大学で専攻した知識もほとんど役に立ちませんし、がっかりです。
282:nobodyさん
08/07/02 22:08:42
phpでやってるからだろw
283:nobodyさん
08/07/02 22:12:39
>>282
phpのスレで、phpの悪口を必死に昼夜分かたず書き込んでいるって何?馬鹿?バッカ?ハッカ?
284:nobodyさん
08/07/02 22:28:36
>>281
早く独立して会社おこしてphpで特許を取れるアルゴリズムを開発しなよ
仕事を貰ってる立場で、しかもどうせ自分で営業した案件じゃないんだろ?
それでがっかりとか、いい身分ですなあ
285:nobodyさん
08/07/02 22:29:16
自分のふがいなさを、言語のせいにしたいお年頃
286:nobodyさん
08/07/02 22:31:07
自分で志願して発明して特許取れ
待って与えられた仕事してたら何時の間にか特許取れてたなんてことない
287:nobodyさん
08/07/02 22:34:58
web関係でも特許取ってるじゃん
288:nobodyさん
08/07/02 22:35:57
そのつまらん仕事を楽しくする特許を取る。
で、特許申請に金かかったが誰も使ってくれない。
289:nobodyさん
08/07/02 22:41:11
あのグーグルですらほとんどの社員は単調な仕事だそうな
290:nobodyさん
08/07/02 22:50:56
もっと面白い意見をお伺いできるかと思って投稿したのですが、
うちの会社の上司と大して変わらないご意見ばかりでした。
思うに、言語のような言語の壁がなく、労働集約型のプログラマーの仕事は、
数年後にはほとんど安い外国の労働市場に持って行かれるのではないでしょうか?
職業としてプログラマーとして従事している方は、もう少し向学心をお持ちになられた方がいいと思います。
少なくても、生産資源が乏しく技術を売りするしか世界で存在価値を示せない日本が、
このような低付加価値の仕事ばかりをしていたら、ますます国力が衰えていくだけです。
291:nobodyさん
08/07/02 22:53:06
その低付加価値の仕事をしてる人に言われても説得力が全くありません
292:nobodyさん
08/07/02 22:56:28
ここはPHPの技術的な質問をするスレですよ
スレ違いなので、というより板違いなので仕事の愚痴は別板でお願いします。
293:nobodyさん
08/07/02 22:57:41
散々レスした挙げ句、都合が悪くなるとすれ違いとか板違いといって逃げるのですね。
294:nobodyさん
08/07/02 23:02:14
>>290
そんな仕事してるのはお前の能力が足りなかったせいだw
まぁこんなところでわざわざ釣り乙www
295:nobodyさん
08/07/02 23:09:19
だから勝手に取れ
特許料もらえるまで赤字だから研究・特許なんてそうそう許可できん。
いい特許アイデアできたら上司と喧嘩してでも予算とれ
296:nobodyさん
08/07/02 23:09:19
>>281-294 以上、俺の自作自演でした^^
おチンチンびろーん
∩___∩
| ノ ヽ/⌒)
/⌒) (゚) (゚) | .|
/ / ( _●_) ミ/
.( ヽ |∪| /
\ ヽノ /
/ /
| _つ /
| /UJ\ \
| / ) )
∪ ( \
\_)
297:nobodyさん
08/07/02 23:10:36
物足りないんだったら車輪の再発明でもすれば?w
298:nobodyさん
08/07/02 23:30:38
>281,290
見てる世界狭すぎ。
え、あれ?釣りなの?w
299:nobodyさん
08/07/02 23:36:45
上司に言ったんかそんな話w
300:nobodyさん
08/07/03 04:37:49
率直に話し合った方がいいだろ
当たり前だが営利企業は斬新だろうが普通だろうが金になる事が正義
301:nobodyさん
08/07/03 14:31:17 3X5/4UgX
ちょいと質問と言うか相談ですが、
複数のディレクトリーがあってその中には複数のhtmlファイルが入っています。
複数のhtmlのそれぞれの更新日時を調べて更新日時順で
ファイル名・更新日時・ページタイトル を一覧で出すにはどんな流れで書いていけばいいんでしょうか?
全ファイルの一覧や上位10件とかもあればなお良いのですが。
302:nobodyさん
08/07/03 14:35:30
>>301
htmlのそれぞれの更新日時を調べる。
更新日時順にファイル名・更新日時・ページタイトル を出す。
303:nobodyさん
08/07/03 15:09:10
>>301
readdir
ディレクトリだったら再帰
ファイルだったら必要な情報を調べる。配列にでも格納
次のファイルへ
全部調べたら好きなように加工
304:nobodyさん
08/07/03 15:16:00 3X5/4UgX
レスありがとう。
各ファイルの更新日時・URL・ページタイトルなど必要な情報は個別に取得できていて
すでにsitemapとしてgoogleに登録してるのですが、
それを更新日時順に並べるのが出来ていない状況です。
更新日時とファイル名の関連付け?がどうすれば出来るのかって事でしょうか。
305:nobodyさん
08/07/03 15:17:34
Arrayに入ってるならソートすればいいんじゃ?
306:nobodyさん
08/07/03 15:30:45
$dirurl[] = '../test1/';
$dirurl[] = '../test2/';
foreach($dirurl as $key =>$value){
$dir = @opendir($value);
while($file = @readdir($dir)) {
if (!is_dir($file)){
@include_once($value.$file);
if($sitemap_ok != '1') continue;
$pegedata = explode("." , $value.$file);
$lastupdate = @date("Y-m-d\TH:i:s\+09:00",@filemtime($value.$file));
$sitemaps = <<<_EOD_
<url>
<loc>URLリンク($SERVER_NAME$pegedata[2].html<)
<priority>$priority</priority>
<changefreq>$changefreq</changefreq>
<lastmod>$lastupdate</lastmod>
</url>
_EOD_;
echo $sitemaps;}}
closedir($dir);}
今こんな感じです。それぞれ必要な内容は取り出せているのですが、これを更新日時順で並ばせたいと思っています。
arsort($xxx,SORT_NUMERIC);などで更新日時順で並べれる事は分かるのですが、どこをどうすればいいのやら…
もう1ど最初から作り直した方がいいでのでしょうか。
307:nobodyさん
08/07/03 15:36:49
>>304
DBに突っ込んでソート汁
308:nobodyさん
08/07/03 15:40:30
>>307
DBすか!やっぱりその方がいいんでしょうね。
将来の事もあるのでsqlを少し勉強した方がよさそうですね。
あまり長くなるのも迷惑なので勉強して出直してきます。失礼しました。
309:nobodyさん
08/07/03 15:45:17
>>308
Arrayに突っ込んでソート
310:nobodyさん
08/07/03 15:49:46
>>306
たとえばarsort使いたいなら
$array_nanika[更新時間unix_time] = ファイル名;
みたいな配列を一度作って、arsort。
ただコレだと同じ時間に更新されたファイルがあるとダメだからもう一工夫は要るね。
なんにせよ一度配列に収めろってことです
311:nobodyさん
08/07/03 18:51:15 0wf3u7xU
クラスをnewするときに引数を渡したいのですが、
引数のチェックに失敗したときはクラスの作成自体を中止したい場合ってどうすればいいんですかね?
class hoge{
public function __construct($fuga){
if(!$fugaのちぇっく){
//ここで自分自身を破棄?
return false;
}
〜
}
みたいな
312:nobodyさん
08/07/03 19:05:16
それPHP?
まあ例外投げるんじゃね
313:nobodyさん
08/07/03 19:22:00 NDuREgXX
負荷が高いサイトを運営していますが、
例えば、Apacheを80番と81番で平行運用することで負荷分散を図ることは可能でしょうか?
例えば、スクリプトAは80番で処理して、スクリプトBは81番で処理するということです。
これで、速度が倍になれば、Apacheを数十個起動して、速度を10倍位に上げたいと思います。
現在は、一ページ返却するのに10秒から15秒かかり、クライアントから遅すぎるのではないか、
と言われておりまして、これ以上クライアントに我慢してもらうことも難しくなっています。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5380日前に更新/111 KB
担当:undef