【PHP】下らねぇ質問はここに書き込みやがれ 39
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2007/02/12(月) 20:33:59ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 38
http://pc10.2ch.net/test/read.cgi/php/1170520777/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc10.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc10.2ch.net/db/subback.html
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
しかし初心者が目的も定めずに速度を気にしたところでほとんど意味は無いぞ
0002nobodyさん
2007/02/12(月) 20:34:57ID:???【PHP】下らねぇ質問はここに書き込みやがれ 29
http://pc8.2ch.net/test/read.cgi/php/1158434799/
【PHP】下らねぇ質問はここに書き込みやがれ 30
http://pc8.2ch.net/test/read.cgi/php/1159979905/
【PHP】下らねぇ質問はここに書き込みやがれ 31
http://pc8.2ch.net/test/read.cgi/php/1161733546/
【PHP】下らねぇ質問はここに書き込みやがれ 32
http://pc8.2ch.net/test/read.cgi/php/1162818436/
【PHP】下らねぇ質問はここに書き込みやがれ 33
http://pc8.2ch.net/test/read.cgi/php/1164209222/
【PHP】下らねぇ質問はここに書き込みやがれ 34
http://pc8.2ch.net/test/read.cgi/php/1165519374/
【PHP】下らねぇ質問はここに書き込みやがれ 35
http://pc10.2ch.net/test/read.cgi/php/1166676139/
【PHP】下らねぇ質問はここに書き込みやがれ 36
http://pc10.2ch.net/test/read.cgi/php/1168395610/
【PHP】下らねぇ質問はここに書き込みやがれ 37
http://pc10.2ch.net/test/read.cgi/php/1169644229/
0003nobodyさん
2007/02/12(月) 20:35:29ID:???■本家マニュアル http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル http://pear.php.net/manual/ja/
■メーリングリスト http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル http://framework.zend.com/manual/ja/
(以下英語)
■Smarty http://smarty.php.net/
■Zend本家 http://www.zend.com/
■Zend Framework http://framework.zend.com/
■php | architect http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0004nobodyさん
2007/02/12(月) 20:35:59ID:???1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→ http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
0005nobodyさん
2007/02/12(月) 20:36:28ID:???→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
0007nobodyさん
2007/02/12(月) 20:46:16ID:???0008nobodyさん
2007/02/12(月) 20:55:09ID:???0009nobodyさん
2007/02/12(月) 20:59:20ID:???php-usersに出てくる釣り質問者に通じるものを感じたw
0010nobodyさん
2007/02/12(月) 20:59:53ID:YLy/IkNC↑セッションの有効期限を24時間にする方法ですが、
デフォルトの180分(php.iniの値)でセッションが切れてしまいます。
何か原因が分かる人は教えて貰えますか?
ちなみに、session_cache_expireの値を秒数だと勘違いしてる人が
いましたが、これは分数を指定します。
0011nobodyさん
2007/02/12(月) 21:00:37ID:YLy/IkNC単なる嫌味です。自分を優れてると勘違いしてる人へのね。
0015nobodyさん
2007/02/12(月) 21:05:47ID:???0017nobodyさん
2007/02/12(月) 22:13:05ID:YLy/IkNC>◆回答者への注意
>・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
確かに↑と書いてありますね。アンカーのつけ方を知らない人は、初心者板へどうぞ
0018nobodyさん
2007/02/12(月) 22:21:35ID:???,.イ.:.:::l:i:::`丶、\``>
r、 /.:/.:::::;:川ト、ィ;l:ヽ V、
>\__ !.:::l:::::ノノ リ,ィtナl.::;;! 1::',
(ミム )X^ヽ リ.:;:Vtソ 、 `ー' |;;/ |::::', 下らねぇ質問は
`ーく_ノ `ー-r─‐‐ヽ:::;、 「 ヽ イ1米|:::::', ここに書き込みやがれ
`ヽ、 |\ i `l>、`ー' イ:::| |::::::l ちび人間っ
`フ| ヽ |米|.:::゙、 ̄>くl米|::::::|
./ .:| | ,1 |.:::::{i //介l」 |:::::r‐、
/ .:.::|__ |/:::|米「:::::{l i;|゚j;i ヽト、ムYノ
L_.:.:.:.:.::|_ |.::::| |:i!::::{l. |;|゚j;| N:::}=〈::l
\.:.:.::l/.::::|米|.:i!ニ{L `゚j´ |:|::| |::|
\ノ.::::::|_|.::i!三三ニ「�]|」:| |:::|
0019nobodyさん
2007/02/12(月) 22:33:17ID:???http://news22.2ch.net/test/read.cgi/newsplus/1171277039/
0020nobodyさん
2007/02/12(月) 22:34:46ID:???すみません、どこがおかしいですか?
回答よろしくお願いします。php5です
$dir_ary = scandir("./doc");
$itemNum = count($dir_ary);
for($i=0;$i<$itemNum;$i++){
if($dir_ary[$i] != "." && $dir_ary[$i] != ".."){
echo filetype($dir_ary[$i]);
}
}
0023nobodyさん
2007/02/12(月) 22:47:38ID:1UHqIA+/>>21
そうなんですか?
試しに"./doc/"にしてもうまくいかないです
ちなみに、"./doc"のままでも
echo $dir_ary[$i]; なら正常に動くんです。ちゃんと以下を返します。
⇒1.Intro2.Basic3.Component4.DataBase5.Appendixsample.doc
>>22
echo filetype($dir_ary[$i]);の部分がエラーが返るんですが、、
この書式ってphp.iniとかをいじらなきゃダメだったりするんですか?
うーん、、
0024名無し募集中。。。
2007/02/12(月) 22:53:08ID:???違う、filetypeに渡す時にファイル名だけになってる
echo filetype('./doc/' . $dir_ary[$i]);
0025nobodyさん
2007/02/12(月) 23:32:59ID:1UHqIA+/そっか、 すいませんfiletypeの引数のディレクトリですね。
教えてもらったのに勘違いしてました。
うまくいきました、ありがとうございました!!
0026nobodyさん
2007/02/13(火) 00:03:59ID:V5Md+oDipreg_match_all('/("(?:[^"]|"")*"|[^,]*),/',$data,$result);
↑正規表現で、画面真っ白になって、エラーメッセージも無く止まるって質問でした
エラーの理由は分かりました
文字数が10000超えるとpregで必ずエラーが起きるようです(2バイト文字の量によって、文字数は増減します)
さて… php.iniの設定かな? と思い…
max_execution_time = 450
max_input_time = 750
memory_limit = 350M
ここら辺を変えてみましたが、まだ直らず…
ぱっと思いつく、変更点はありませぬか?
0028nobodyさん
2007/02/13(火) 00:28:42ID:???0029nobodyさん
2007/02/13(火) 00:42:27ID:???制限なんてあるの?
試しにこんなの書いたらヌルヌル動くんだけど
for($str = '', $i = 0; $i < 10000; $i++) $str .= '("Aあ亜"),';
echo strlen($str); // 120000
preg_match_all('/("(?:[^"]|"")*"|[^,]*),/', $str, $match);
echo count($match[0]); // 10000
0031nobodyさん
2007/02/13(火) 01:26:47ID:V5Md+oDiレスありがとうございます
う〜ん、確かに29さんの動くなぁ
CSVデータにHTMLが入ってるやつを読み込んでいるので、HTMLコード入れて試してみました
HTMLコードのところが問題だったようです…
ごめんPreg;;
でもですね、その確実にエラーになる所は、
HTMLコードで8000文字の内、文字数減らすとエラーにならないんですよ (消す時「”」の数には注意してます)
何処を消しても、エラーが起きなくなるんですよねぇ… だから文字数だと思ったのですが…
例えばヤホーのトップページをCSVの一つのカラムに入れて、「”」を「””」にしてpregかけても真っ白になります。
そして、そのHTMLを10000文字以下にして、pregかけるとヤホーでもエラーが起きなくなる…
う〜〜〜〜〜ん… わかんね…
0033nobodyさん
2007/02/13(火) 02:08:02ID:V5Md+oDiマルチバイトたくさんあります
0034nobodyさん
2007/02/13(火) 02:15:48ID:WLri6D19scandir() で一覧化したファイル名は mb_convert_encoding() でエンコーディング
できないんでしょうか?
$currentDir = "./doc/";
$dir_ary = scandir($currentDir);
$itemNum = count($dir_ary);
for($i=0;$i<$itemNum;$i++){
if($dir_ary[$i] != "." && $dir_ary[$i] != ".."){
echo "<td><a href='".$currentDir.$dir_ary[$i]."'>".mb_convert_encoding($currentDir.$dir_ary[$i],"EUC-JP","SJIS")."</a></td>";
上記のスクリプトの最終行がブラウザに表示されないのは、そういうことなのか、
それとも根本的に他の間違いがあるのか 分からなくて困ってます
よろしくお願いします。
0035nobodyさん
2007/02/13(火) 02:31:27ID:???csvファイルってことだけどちゃんと読み込めてるのかどうかが怪しそう
fgetcsvをつかってるのでしょうか?
0036nobodyさん
2007/02/13(火) 02:34:35ID:???もしくはもうしてるのかも知れんが、その場合は書いてくれないと分からない上に回答者に無駄手間を取らせることになる。
1.mb_conv...を通さなければ表示されるのか
表示される→mb_convの問題:(a)へ
表示されない→ファイルリストが上手く取れてない:(b)へ or HTMLの問題:(c)へ
(a) 文字列単体を持ってきて変換できてるかテストする。PHPソースとブラウザの文字コードは?
(b) var_dump($dir_ary)してみる
(c) <table>タグなくても表示されんの?ブラウザの文字コード変えてみた?HTMLソースは見た?
0037nobodyさん
2007/02/13(火) 02:52:24ID:V5Md+oDi読み込みはばっちりです。fopenとfgetsでやっとります。
fgetcsvは使っていません。これがちゃんと動けば、CSVの解析なんてしなくていいのに;;
ガチで、HTMLの量が多くない限り、動くんだって〜;;
信じて;;
$fp = fopen($file,'rb');
while ($data = fgets($fp)) {
//処理とか 例えばprint $data;
}
今、確実に止まるのを29さんのコードを元に作成中…
0038nobodyさん
2007/02/13(火) 02:56:50ID:???mysqli_queryを使って、Update文のクエリを実行したとき、
updateされたフィールドの数を取得すしたいと思っています。
mysqil関数で可能なんでしょうか?
0039nobodyさん
2007/02/13(火) 02:59:03ID:???0040nobodyさん
2007/02/13(火) 03:20:17ID:V5Md+oDi$str = '"';
//for($str = '', $i = 0; $i < 10000; $i++) $str .= '(Aあ亜)'; //動く
//for($str = '', $i = 0; $i < 10000; $i++) $str .= '(""Aあ亜"")'; //動く
//for($i = 0; $i < 100; $i++) $str .= '(<input type=""text"" values = ""Aあ亜"">)'; //動く
for($i = 0; $i < 250; $i++) $str .= '(<input type=""text"" values = ""Aあ亜"">)'; //動かない文字1万ちょい
$str .= '","これは""マルチバイト""です",';
echo strlen($str)."<br>";
preg_match_all('/("(?:[^"]|"")*"|[^,]*),/', $str, $match);
echo count($match[0]);
違い全くわらかね;; 動く方が居たら、教えてください;;
もしそうならPC違いか… php.iniの設定でしょうか…
当方core 2 duo, memory1G, fedora5, PHP 5.1.6
0041nobodyさん
2007/02/13(火) 03:25:31ID:???ini書き換えた後再起動した?
そもそもその書き換えたiniをちゃんとシステムは読み込んでるの?(phpinfoすべし)
0042nobodyさん
2007/02/13(火) 03:33:53ID:V5Md+oDiえ? このコードでエラー出ます? 漏れの環境だと、画面真っ白で止まるのですが…
display_errorはOnです。もちろん再起動しましたが… 念のため、もう一回再起動してみます
0043nobodyさん
2007/02/13(火) 03:34:38ID:???0044nobodyさん
2007/02/13(火) 03:47:18ID:V5Md+oDidisplay_errors On
memory_limitとかの設定も反映されてますなぁ…
御願いですから上のコードを走らせてみて;; どうなりますか?
0045nobodyさん
2007/02/13(火) 03:58:23ID:???//検証したい方を残してもう一方をコメントアウト
$s = '(<input type=""text"" values = ""Aあ亜"">)'; //マッチしない文字列
$s = '(<input type=""text"" values = ""Aあ亜"">),'; //マッチする文字列
for($str = '', $i = 0; $i < 100; $i++) $str .= $s;
echo strlen($str)."\n"; // 4000 くらい
preg_match_all('/("(?:[^"]|"")*"|[^,]*),/', $str, $match);
echo count($match[0])."\n";
echo $time = microtime(true) - $time_start;
これでテストしてみると
マッチしない文字列 処理時間 10 秒
マッチする文字列 処理時間 0.00007 秒
つまりマッチしない文字列だとすご〜く時間が掛かるので
max_execution_time とかに引っ掛かって死ぬって事では?
0046nobodyさん
2007/02/13(火) 04:46:42ID:V5Md+oDiありがとうございます 楽しく検証できました〜 確かに時間かかりますねぇ。と言うより、マッチする文字列が早すぎですなぁ
それと死ぬって所は確かにそうだと思っています。
ちょと検証してみました。
max_execution_time 10
max_execution_time 450
max_execution_time 45000
全てループ回数235回、文字数10000+、五秒経過後、までは耐えます
その回数以上だと死ぬ感じになります
ついでにmax_execution_time 1 も試してみました
Fatal error: Maximum execution time of 1 second exceeded
やったw 久しぶりにエラー見たw pregのラインでした
0047nobodyさん
2007/02/13(火) 07:21:05ID:???俺の環境ではまったく問題ない
10532
2
と表示される
WinXP Apache2.0.59 PHP 5.2.0
0048nobodyさん
2007/02/13(火) 07:56:49ID:Ns+uranCコメントページにスパムの書き込みが大量にあり、
コメントページが編集不可能な状態に陥ってしまいました。
編集フォームまでは重いながらなんとかいけるのですが、
スパムコメントを削除して、
更新ボタンを押したところで応答が帰ってこなくなります。(しかも即答)
これってなんかの脆弱性ですよね?
脆弱性を報告したいのですが、どういう脆弱性なのかわかりません。
本来ならPukiWikiの専用スレを探してきくべきなのでしょうが、
こういう手の話題は、PHPでいろいろ開発してる方に聞いたほうがいいと思い、
ここで質問させていただきました。
考えられる脆弱性としてはどういうものが考えられるか教えていただければ嬉しいです。
0049nobodyさん
2007/02/13(火) 08:30:24ID:???オレも問題なくうごく
PHP4.4.4
OS:FreeBSD
Apach:1.3.37
max_execution_time 30秒だが、1秒くらいで結果が返ってくる
005148
2007/02/13(火) 09:54:02ID:Ns+uranCもうちょっと詳細を書くと、
入力値チェックはなく、なんでも書き込めるようになっていました。
あと一番最後の書き込みが、異様に長かったです。
750kbほどでした。
何かヒントになれば幸いです。
005348
2007/02/13(火) 09:56:13ID:Ns+uranCPukiWikiはデータベースは使っていません。
ログはテキストに書き込むようになってると思います。
0054nobodyさん
2007/02/13(火) 10:17:51ID:???情報が乏しくてはっきりしないが
サーバの制限に引っ掛かってるとかじゃない?
何が750KBあるのかようわからんがなんかに引っ掛かりそう
0055nobodyさん
2007/02/13(火) 11:05:43ID:???0056nobodyさん
2007/02/13(火) 11:26:57ID:???>>47>>49ありがとうございます
動くのかぁ… 会社の環境でも動かないんだよなぁ…スペック以外、全く環境一緒ですが…w ちなみにfedora5, php5.1.6, apache2.0.58
やっぱりループの回数も上限235くらい。
ループの回数500くらいでも、問題無く動きそうな感じっぽい文章ですよねぇ…
会社に来てから
set_time_limit(600);
ini_set('memory_limit', '1024M');
も試してみましたが、駄目ぽい。きっと設定なんだろうけどなぁ;;;;
>>55 Zend Studioお勧め。鯖サイドとAjaxまで含めたJavaScriptのデバッグがエクリプスで近い将来出来るらしいから、ほんとはエクリプスお勧め。両方激重なのが難点
0057nobodyさん
2007/02/13(火) 11:58:19ID:???ありがとうございます。
そうなんですよね、うちのPCもスペック低いのでEclipseしにそうになる・・orz
0058nobodyさん
2007/02/13(火) 12:03:12ID:9s+MbwuePHP IDEがいいよ。DEBUGできるし
0059nobodyさん
2007/02/13(火) 12:26:47ID:DIAK3rft今月初めのタイムスタンプ、終わりのタイムスタンプを取り出したい。
$nen=date("Y");
$tuki=date("n");
//今月初めと終わりのタイムスタンプ
$month_strart = mktime(0,0,0,$tuki,1,$nen);
$month_end = mktime(23,59,59,$tuki,31,$nen);
としたが、これでは上手くいかない。例えば2月は28日までしかないので、
これでやると、2月末日のタイムスタンプが欲しいのだが、
3月3日ぐらいのタイムスタンプになる。うるう年とか考えるともう・・・
解決お願いします。
006059
2007/02/13(火) 12:33:31ID:DIAK3rft0061nobodyさん
2007/02/13(火) 13:02:21ID:oNelk7aKtry〜catchが出来ない環境だと
どういった感じでcommit rollbackをすればいいのでしょうか?
0062nobodyさん
2007/02/13(火) 13:21:15ID:???素人でよくわかりませんが
ttp://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_s03.htm
なのどうでしょうか?
0064nobodyさん
2007/02/13(火) 13:45:17ID:oVwJ3IKfサイズを取得したい時はどうすればいいですか?
0065nobodyさん
2007/02/13(火) 13:46:24ID:???0066nobodyさん
2007/02/13(火) 13:46:44ID:zJDkWK4f0067nobodyさん
2007/02/13(火) 13:53:43ID:rCAmUKes$stmt = $obj_dbh->prepare("INSERT INTO test (name, price) VALUES (?, ?)");
$folder=array();
for($i=0 ;$i<2 ;$i++){
$stmt->bindParam( $i+1, $folder[$i] );
}
$data=array('ぶばぶば', 2000);
foreach($data as $key=>$value){
$folder[$key]=$value;
}
$stmt->execute();
上のはうまく動くのですが
$stmt = $obj_dbh->prepare("INSERT INTO test (name, price) VALUES (?, ?)");
$folder=array();
for($i=0 ;$i<2 ;$i++){
$stmt->bindParam( $i+1, $folder[$i] );
}
$data=array('ぶばぶば', 2000);
$folder=$data;
$stmt->execute();
こうすると空のデータが放り込まれるのですがなぜでしょうか?
上ので動くのでやりたいことは出来るのですが、
どうしてなのか気になったもので。
両方とも print_r($folder) すると、変数のなようはまったく一緒です。
bindというのをイマイチ良く理解していなのですがその辺が原因で何か勘違いしてますでしょうか?
0068nobodyさん
2007/02/13(火) 13:53:44ID:???$str.= $i==99 ? str_pad($i,3,"0",str_pad_left) : str_pad($i,3,"0",str_pad_left)."-";
}
とかは?
006968
2007/02/13(火) 13:56:01ID:???$str.=str_pad($i,3,"0",str_pad_left);
$str.= $i==99 ? "" : "-";
}
こうか
007066
2007/02/13(火) 14:03:01ID:zJDkWK4fむ、、難しそうだ。
array(001,002)とかで定義してやってみます><
0071nobodyさん
2007/02/13(火) 14:05:56ID:???そんなこともできるるんだな。
参照でわたってるからなんだろうけど・・・
気持ち悪いことするね。
値代入してから、それを使うのが普通だろ?
0072虚弱PHP
2007/02/13(火) 14:15:05ID:???参照の問題じゃないかな。
つまり、bindParamした$folderを$dataで"上書き"しているからうまくいかない。
0075nobodyさん
2007/02/13(火) 14:43:39ID:???この関数調べる文字列の、一番最初の文字を
無視してしまっているようなのですが、どうすればちゃんと探してくれるんでしょうか?
0078nobodyさん
2007/02/13(火) 15:35:09ID:Nn5A3pDr> クッキー名で配列を記述することにより、 クッキーの配列を設定することも
> 可能ですが、複数のクッキーがユーザーのシステム上に保存されることになります。
> explode() を使用してひとつのクッキー上に複数の名前と値をセットすることも考慮してください。
http://www.php.net/manual/ja/function.setcookie.php
とのことですが、みなさんはどうしていますか?
Googleなどは一つのクッキー上にまとめてセットしているようです。
配列の数が少なければ問題ありませんかねぇ?(二つだけです)
0079nobodyさん
2007/02/13(火) 15:47:42ID:???http://bakera.jp/hatomaru.aspx/glossary/30b530cb30bf30a430ba
に、
>※なお、これは HTML 文書中の属性値が全て二重引用符で括られている場合です。そうでない場合は、単引用符やスペースなども危険な文字となることがあります。
などと書いてあります。
これってどういうこと!? スペースまでサニタイズするのって無理じゃネ??
たとえばmixiなんて属性を二重引用符で囲ってないから、危険ってこと?
0080虚弱PHP
2007/02/13(火) 15:58:11ID:???<input type=hidden value=<?php echo $_GET['a'];?>>
↓
$_GET['a'] = 'a onMouseOver="alert();"';
↓
<input type=hidden value=a onMouseOver="alert();">
二重引用符で囲んどけば、そんなに気にしなくてOK。
0081nobodyさん
2007/02/13(火) 15:58:54ID:Nn5A3pDr二重引用符で括ってある場合は「< > & "」をサニタイズすれば
(一応)問題ないが、単引用符で括ってある場合はさらに「'」もサニタイズする必要があるってこと。
属性値をちゃんと引用符で括ってあれば半角スペースまでサニタイズする必要はないと思う。
HTMLの仕様は、単引用符でも二重引用符のどちらでもよいことになっているけれど
二重引用符の方がいいんじゃないかな。
0082nobodyさん
2007/02/13(火) 16:06:21ID:???0083nobodyさん
2007/02/13(火) 16:12:11ID:Nn5A3pDrWorld Wide Webに関する技術の標準化を行っている
「W3C」が仕様書を勧告しています。
まあ、一応日本語訳:
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/intro/sgmltut.html#h-3.2.2
0084nobodyさん
2007/02/13(火) 16:16:01ID:UEm9K3UG0086nobodyさん
2007/02/13(火) 16:20:01ID:oVwJ3IKfimagecolorresampledをしたのですが、
透過でなくなってしまいます。
透過のままサイズ変更するにはどうすればいいですか?
0089nobodyさん
2007/02/13(火) 16:25:46ID:???>普通にログインしてる人はe-mailとpasswordがバレバレだしw
なにそれ。適当な嘘吐きはイカンよ。
IEでmixiにログインしてる場合はアレな部分があるけど、
メアドとパスワードなんて漏れないし。
0091nobodyさん
2007/02/13(火) 16:26:24ID:???なんで? なんで全部覚えなくちゃいけないんだ?
マニュアルを参照すればいいだけなのに……。
>>87
悪い例なんじゃないの?
0093nobodyさん
2007/02/13(火) 16:29:30ID:???他人がセキュリティーホール満載のページ作っても関係ねーしなw
0097nobodyさん
2007/02/13(火) 16:35:01ID:3uUSgwIq0098nobodyさん
2007/02/13(火) 16:35:19ID:???それはmixiの脆弱性というよりHTTPというプロトコル自体の脆弱性というか仕様だしww
しかもパケットキャプチャなんて実際には確率的にほぼ実行不可能だし。
キャプチャがやれるもんならやってみろよww 少なくともお前らには無理だからw
009989
2007/02/13(火) 16:35:41ID:???mixiってメアドもパスワードもバレバレだったんですね^^;
お恥ずかしい発言してごめんなさい…
0100nobodyさん
2007/02/13(火) 16:36:00ID:???例え通信でばれなくても鯖管にはわかるわけだし、中の人が信じられる保証はどこにも無い
0101nobodyさん
2007/02/13(火) 16:37:10ID:???無知な大衆の不安を無駄に煽るせいで、
むやみに「セキュリティ! セキュリティ!」と騒ぐバカがさらに増える悪循環。
0102nobodyさん
2007/02/13(火) 16:38:33ID:???で、お前は実際にキャプチャできたことがあるのか?とwwww
っていうか>>100がいいこと言った。
0103nobodyさん
2007/02/13(火) 16:38:48ID:???そこまで心配するなら、キーロガーからなにからなにまで心配しないと。
0104nobodyさん
2007/02/13(火) 16:41:13ID:???クッキーに生のIDとパスワードを保存してそうだなw
0106nobodyさん
2007/02/13(火) 16:43:55ID:UEm9K3UGインターネット上を飛び交ってるデータをキャプチャするのはどうやってやるの?
ユーザーとサーバーを仲介しなきゃ無理なんじゃないの?
どうやって仲介するのさ?
キャプチャで検索してもネットワーク上のことしか書いてないんだけど・・・
0107nobodyさん
2007/02/13(火) 16:44:02ID:???パケットキャプチャか
そういうレベルなら、メールの内容もつつぬけだお。
0108nobodyさん
2007/02/13(火) 16:44:05ID:???Yahooのログインにはhttpsもある。
それが答えだろ。危険じゃないならhttpsなんか用意する必要ないんだから。
0110nobodyさん
2007/02/13(火) 16:46:59ID:???メールも暗号化できるお。
0111虚弱PHP
2007/02/13(火) 16:49:59ID:???mixiはさすがに、こんな単純な穴はふさいであるんじゃない?
よくわからんけど。
可変項目じゃなければ、引用符で囲われてなくても普通は問題おきないだろうし。
>>87
あ、ごめん。説明足りなかった。脆弱性の例を書いてみた。
0112nobodyさん
2007/02/13(火) 16:51:46ID:???個人責任の部分はサイト側でどうにかできるわけでもなし
0113nobodyさん
2007/02/13(火) 16:52:44ID:UEm9K3UG最近httpsも一応導入してるみたい
0116nobodyさん
2007/02/13(火) 16:57:47ID:???mixiはトップページにログインできる画面があるから
そのままログインしてしまう初心者はパスワードバレバレである
ただしhttpsでログインしてるユーザーはばれない
0117虚弱PHP
2007/02/13(火) 16:58:14ID:???Webブラウズは全部httpsじゃないとダメだろうね。
0118nobodyさん
2007/02/13(火) 16:58:27ID:???なんで全部なんだよ。
芸能ニュースみるのにGETするときに暗号化する必要あんのかよ。
しかし昔のYahooのログインはデフォがhttpだったんだけど
いまはデフォがhttpsになったんだな
0119nobodyさん
2007/02/13(火) 17:00:45ID:UEm9K3UG0121nobodyさん
2007/02/13(火) 17:04:43ID:???0122nobodyさん
2007/02/13(火) 17:07:12ID:???0123nobodyさん
2007/02/13(火) 17:12:53ID:0SkSueaHSSLとかSSIみたいなアルファベット3文字で、無料レンタルサーバーでは使用禁止に
されることがあるアレのこと。
0125nobodyさん
2007/02/13(火) 17:16:59ID:???0126124
2007/02/13(火) 17:17:04ID:???それ以外か…吊ってきます
0127nobodyさん
2007/02/13(火) 17:24:09ID:Q9x6IAh5インストールする順番は
Mysql→Apache→PHPの順番でいいのでしょうか?
昨日PHPを先にインストールしたせいかライブラリが足りなくて…
0129nobodyさん
2007/02/13(火) 17:30:48ID:???0130nobodyさん
2007/02/13(火) 17:32:55ID:???キャプチャできるという前提で話してるんじゃないの?
ログイン画面だけhttpsにしても駄目でしょ?
セッション盗まれちゃうよ?
セキュリティ的にどうかという視点で並べると
全てhttps>ログイン画面だけhttps>全てhttp
ってだけのこと。
漏れたときのリスクを考えて適時選択すればよいだけ。
>>106
ローカルネット(と書くのも適切じゃないと思うけど、そのあたりは
私のスキル足りなくてよくわからんとです)間でしかキャプチャで
きないので、普通、キャプチャうんぬんは心配しなくってよいと思うよ。
まぁ、現実的に気になる例をあげるなら、会社でネットやってるときだろうな。
といいつつ、今はスイッチングハブ使ってるだろうから、一部は覗けても
全部覗き見するのは無理だろうと思ってる。
0132nobodyさん
2007/02/13(火) 17:53:41ID:???もう夏厨が……
0133nobodyさん
2007/02/13(火) 17:55:23ID:???パッケージでインストールするなら、あまり順序とか
気にしなくても自動でやってくれるはずだけどな。
PHPのパッケージは細分化されてるから、MySQLのモジュール
をインストールしていないとか、インスト忘れてるパッケージ
あるんじゃない?
ソースから入れるなら、>>131が言うとおりだと思う。
0134nobodyさん
2007/02/13(火) 18:14:34ID:???0136134
2007/02/13(火) 18:20:02ID:???0139134
2007/02/13(火) 19:03:58ID:???0141127
2007/02/13(火) 19:43:40ID:jAe38mg6やっとjavaとthunderbirdをインストールした。
昨日失敗したときはapache2.2.3先、php5.2後で全部apt使って入れたんだけど、
勝手に必要なもの揃えてくれると思ってたのにlibphp5.soがなかったんです。
xamppはほんとにダメだったら考えてみます。
>>131>>133>>135>>140
ありがとうございます。
ちなみに質問のきっかけとなった参考URLは
http://www.atmarkit.co.jp/flinux/rensai/mysql5_01/mysql5_01a.html
です。まどわされちゃいけなかったみたいですね、もすこしがんばってみます。
0143nobodyさん
2007/02/13(火) 20:00:00ID:???windowsでローカルだけでやることをおすすめする
0144nobodyさん
2007/02/13(火) 20:03:30ID:???…という超アホな三段論法を使っている基地害厨房くん(おそらくこのスレで一人w)は、
それを言うんだったら、そもそもインターネットに接続すること自体が危ない…という根本概念を理解していない。
いみじくも>>103や>>130が指摘している通り。
0145134
2007/02/13(火) 20:03:37ID:EyrqWuQ4では先頭にゼロをつけない分は何ですか?
マニュアル見ても載ってませんでした
>>136 >>139 は私ではありません
もうID出したからできないと思うけど
他人の名前を語って嫌がらせするのはやめてください
0150nobodyさん
2007/02/13(火) 20:16:14ID:???だから「ハァ?」だよ。
なんで>>144と>>146が同一人物だと思い込んでるだお前は。
どうしようもねぇスットコドッコイだなw
誰にも答えてもらえなくて発狂してる厨房かな?ww
0151nobodyさん
2007/02/13(火) 20:16:20ID:???ログ見たけど
こんなこと言ってるやつ1人もいねーしw
0153nobodyさん
2007/02/13(火) 20:20:49ID:???0154nobodyさん
2007/02/13(火) 20:21:29ID:???>>88=90=96=99=104=105=108=116=120=122=151
=中途半端な知識で吼えまくる厨房ww
根本的な部分を突かれて知識の浅さを露呈し、発狂した基地害www
0155nobodyさん
2007/02/13(火) 20:24:41ID:Z4ceRFCQ0157nobodyさん
2007/02/13(火) 20:26:16ID:???どこで>>144みたいなこと言ってる?
>>88か?言ってないぞ?
どこで>>144みたいなこと言ってるのか だけ でいいから答えてみ
0158nobodyさん
2007/02/13(火) 20:31:29ID:???ハイハイ分かったよボクちゃんwww
もうお前は全ページがhttpsじゃないサイトは一切使わないようにしろよww
もちろん2ちゃんもな。
お前の書き込み内容がIPなどと共にネット上を流れるから「超危険」だよww
0160nobodyさん
2007/02/13(火) 20:34:06ID:ROC0KVQu0162nobodyさん
2007/02/13(火) 20:38:47ID:???2.そのページは標準でSSLではない
3.SSLとかわかってない初心者はそのままパスワードを入力する
4.暗号化されてないのでパスワード覗くことができる
5.だから危険
1.googleのログイン画面は別ページにある
2.そのページは標準でSSLである
3.SSLとかわかってない初心者はそのままパスワードを入力する
4.暗号化されてるのでパスワードを覗くことができない
5.だから安全
わかった?
小学生に教えてる気分だわ・・・
もうめんどくさいから教えないぞ・・・
>>151はID晒せ
0163nobodyさん
2007/02/13(火) 20:42:28ID:???パスワード覗くのはどうやってやるの?って聞いたら
パケットキャプチャって答えたから
このスレの大半の人は馬鹿じゃねーの?って思ったわけさ。
0164nobodyさん
2007/02/13(火) 20:54:31ID:???0165nobodyさん
2007/02/13(火) 20:57:02ID:???お前アタマ大丈夫か? >>151と>>157は同一人物だぞ。
>>162
お前も顔を真っ赤にして、いったい誰に向かって何を説明したいんだ?ww
>>159=>>162=>>157かなwwww
0166nobodyさん
2007/02/13(火) 20:59:38ID:???0167nobodyさん
2007/02/13(火) 20:59:50ID:???早くも春厨が発生しております。みなさんご注意ください。
春厨の華麗なる歴史
>>88=90=96=99=104=105=108=116=120=122=151=157=>>159
0168nobodyさん
2007/02/13(火) 21:00:20ID:???何パスワードが流れてるの?w
暗号化パスワード?じゃないよなあ
何だろ?(うぷぷw
0169nobodyさん
2007/02/13(火) 21:01:55ID:???>>88=90=96=99=104=105=108=116=120=122=151=157=159=>>168
0170nobodyさん
2007/02/13(火) 21:05:10ID:???0171nobodyさん
2007/02/13(火) 21:11:08ID:???自分のパスワードが漏れてることを認めたくない
だからHTTPSは不要
しかもHTTPは暗号化されてる
さらにパスワードも漏れない
と思いたい
ってオチか?w
どっちが厨房だよカスが
もうレスしねーからなw
どうせ、mixiは企業がやってるからパスワードが漏れることはない、とでも思ってんだろw
これだからガキは困る
0172nobodyさん
2007/02/13(火) 21:12:27ID:???017361
2007/02/13(火) 21:13:32ID:oNelk7aKありがとうございます。
php5の例文見ると
tryの後ろにcommit
catchの後ろにrollbackがありますが、
beginからrollbackまで一気にぶち込んでもかまわないのでしょうか?
try〜catchする意味はどこにあるのでしょうか?
0174nobodyさん
2007/02/13(火) 21:14:20ID:pIKbY/0y0175nobodyさん
2007/02/13(火) 21:19:41ID:???AS間も漏れないだろうし、そうするとプロバから自宅まで
だけど、みかかに勤務していたようなストーカーが居ない限り
まず安全
プロバイダ〜企業間は知らん。
大手町にでもレンサバ置いてありゃまず安全
0176nobodyさん
2007/02/13(火) 21:21:28ID:???0177nobodyさん
2007/02/13(火) 21:31:05ID:???SQLだけに関して言えばそんなに意味はないんでないかい?
っていうかそれとこれとは意味というか内容が若干違うような・・
どっちかていうとそれ以外の処理でエラー出た時の対応とかに使う意味のほうがあると思う・・詳しいことは全くわかりませんが
0178173
2007/02/13(火) 21:33:37ID:oNelk7aK$sql =<<<EOS
SQL文
EOS;
って感じでSQL文内でBEGIN、COMMIT、ROLLBACKしちゃえばOKですね
ありがとうございます
0179nobodyさん
2007/02/13(火) 21:35:59ID:???try〜catchはオブジェクト指向構文を使う時に投げられる例外を捕獲するためのもの。
だから例外を投げられないPHP4では必要が無い。
0180nobodyさん
2007/02/13(火) 21:37:38ID:???>自分のパスワードが漏れてることを認めたくない
ハァ?
>しかもHTTPは暗号化されてる
ハァ??
>mixiは企業がやってるからパスワードが漏れることはない
ハァ???
プロトコルや通信経路の話だったのに、なぜかmixiで保存してるパスワードの話にすり替わってるしww
(っていうかmixiが生パスワード保存してるわけないけどww)
0181173
2007/02/13(火) 21:38:02ID:oNelk7aKphpはしないってことですね
エラー処理の意味合いですね
0183nobodyさん
2007/02/13(火) 21:39:41ID:???>>88=90=96=99=104=105=108=116=120=122=151=157=159=168=>>171←決定打w
0184173
2007/02/13(火) 21:40:37ID:oNelk7aKなぞが解けました。
0186nobodyさん
2007/02/13(火) 21:50:54ID:TYmWGfNyhttpsならSSLで暗号化されたのが流れてるだろ。
これらの話と、サーバ側のDBが持ってるのが、生パスワードなのか?
という話がごっちゃになりつつあるな。
0187nobodyさん
2007/02/13(火) 21:54:39ID:???>プロトコルや通信経路の話だったのに、なぜかmixiで保存してるパスワードの話にすり替わってるしww
>(っていうかmixiが生パスワード保存してるわけないけどww)
すりかわってないだろ。>>171をどう読めばそうなるんだ??
保存しているパスワードの話なら>>171にHTTPSという言葉は出てこないだろ
0188nobodyさん
2007/02/13(火) 22:00:27ID:???「どうせ、mixiは企業がやってるからパスワードが漏れることはない」と>>171は言っている。
しかし今はプロトコルや通信経路に関わる話をしているので、
mixiが企業運営だろうが個人運営だろうが、(プロトコルの違いによる)パスワード漏洩とは関係がない。
それなのに>>171が前述のようなアホな発言をしてるから、>>180のような指摘になったわけだ。
わかりまちたか〜〜〜??>>187
0189nobodyさん
2007/02/13(火) 22:04:43ID:???パスワードでなくてセッションなのだが
phpとmixiに何の関係があるのか
0190187
2007/02/13(火) 22:08:14ID:???だからmixiだろうが個人運営だろうが
httpだとパスワードが漏れることがありますよって>>171は言ってるんだろ。
読み違いをしてるのはあなただよ。
0191nobodyさん
2007/02/13(火) 22:14:58ID:pIKbY/0y不可逆ではあるまいし
HTTPSに詳しい人、解説よろろ
0192nobodyさん
2007/02/13(火) 22:18:31ID:jAe38mg6ありがとうございます。
やっぱりmysqlからインストールするのが楽そうなのでmysqlからいきます。
それにしても、mysqlのmakeに結構時間がかかるのですが・・・
0194nobodyさん
2007/02/13(火) 22:24:54ID:???pearのDBをインストールして、それを使用した以下のようなコードを書きました。
<HTML><BODY><B>connect test</B><HR />
<?php
//-省略------------------------------------------------
$dsn = "$dbType://$dbUser:$dbPass@$dbHost/$dbName";
$conn = DB::connect($dsn);
if(DB::isError($conn)) { die($conn->getMessage()); }
printf("<B>connect</B>");
$conn->disconnect();
//-------------------------------------------------
?>
</BODY></HTML>
SQLへの接続エラーは出ないのですが printf("<B>connect</B>"); が実行されません。
原因を教えて下さい。 よろしくお願いします。
0197nobodyさん
2007/02/13(火) 22:36:33ID:???マルチバイト文字列の先頭から一文字ずつ取り出したいのですが、
どうやるのが作法というかパターンなんでしょうか。
$len = mb_strlen($text);
for ($i = 0; $i < $len; ++$i) {
$c = mb_substr($text, $i, 1, 'utf-8');
}
みたいにmb_substrで一文字ずつとり出すという方法もありますが
これだときっと長さに対して二乗のオーダーがかかりますよね。
これを線形オーダーでやるにはどうすればよいのでしょうか。
以上です。
みなさんはどのようにしているのでしょう?
0198nobodyさん
2007/02/13(火) 22:48:29ID:6SJdW3CyLinux自体初めてなのでどうすればいいのかわかりません。
解説書を読んでみてインストールなどを行ったのですが、
PHPの部分が載っていません。
0200nobodyさん
2007/02/13(火) 22:49:51ID:???そのやり方が一般的だと思ってたんだが違うのか!?
FlashActionScriptならsplit("",$str)で普通に1文字ずつにしてくれるから便利だよな
020167
2007/02/13(火) 22:56:14ID:cdO9gFj7>>72
レスサンクス
ああ、そうか。
executeしたときに見に行くのはbindParamした変数のメモリ上のアドレスで
$folder=$data; というのは$dataが保存されているアドレスを$folderに設定してるってわけですか。
bindParamした変数を参照する変数はなくなっちゃってるんですね。
参照ってそういうことですよね?
そういう解説読んだことあるけど、今理解したような気がした。たぶん。
ちなみに、これだけ見るとキモイでしょうけど、これは問題点を絞って説明するでして^^;
prepare&bindParamするメソッドと、実際のDATAを与えてexecuteするメソッドを分けて
クラスを設計してたもので^^;
ありがとうでした。
テケテテッテ テッテー♪
オッ レベルがまたあがったw
0202nobodyさん
2007/02/13(火) 22:56:13ID:WZPOI3IZDBは何でも使えますが言語はVBしか使えません。
0204nobodyさん
2007/02/13(火) 23:09:18ID:meZ0Ozs4サイトに表示させたいのですが
なにかサンプルはないでしょうか
一応ググッてみましたが
kenbo.net氏のを使ってみようかと思いましたが天気予報がピンポイントでないので・・・。
また
Weather Hacksを使えばいいのかなと思ったけど、どうすればいいのかわかんないし・・・。
下らない質問ですがよろしくお願いします。
0205nobodyさん
2007/02/13(火) 23:13:55ID:TYmWGfNyHttp知識あるか?は重要だぞ?
0206nobodyさん
2007/02/13(火) 23:19:04ID:???$select = "<select name='area'>";
for ($i = 0; $i < 47; $i++) {
$select .= "<option value='$i'>$area[$i];
}
$select .= "</select>";
受け取る側
$num = $_POST['area'];
echo "<script language='javascript' charset='euc-jp' type='text/javascript' src='http://weather.livedoor.com/plugin/common/forecast/$i.js'></script>";
とか?
0207nobodyさん
2007/02/13(火) 23:19:28ID:UEm9K3UG例えばどんな使い方があるの?
0209nobodyさん
2007/02/13(火) 23:22:05ID:???バイナリってオプションつけられるのか不安で、
教本どおりにソースからやってしまいました。
時間がかかるので次やるときはバイナリにしたいと思います。
>>198
わたしのやりかたでよろしければ提示しますよ。
0210nobodyさん
2007/02/13(火) 23:22:29ID:6SJdW3Cy是非お願いします
0211nobodyさん
2007/02/13(火) 23:23:33ID:???0212nobodyさん
2007/02/13(火) 23:34:43ID:???わたしはvineですが、大体同じなので参考にしてください。
http://jp.php.net/downloads.phpにいってComplete Source Codeを手に入れてきてください
バージョンは好きなものでいいと思います。
0213nobodyさん
2007/02/13(火) 23:36:09ID:UEm9K3UG強烈なスレッドストッパーですね
ファイルの存在確かめるのは404が返ってくるか確かめなくても
is_existsだかで確認できるじゃん?
HTTPってなんかある?
SMTPとかならメール解析して携帯用アップローダとかできるし、
データーベースだっていろいろ扱えるよね
0215204
2007/02/13(火) 23:46:34ID:meZ0Ozs4イメージとしては、
ttp://www.drk7.jp/MT/archives/001011.html
これの
XML2JSON service を利用した簡単なサンプル
のような感じで行きたいのですが
素直にこのサービスを使ったほうが簡単ですかね。
0216nobodyさん
2007/02/13(火) 23:56:38ID:6SJdW3CyもちろんApacheから入れていかないといけないですよね?
それとも、そのパッケージで全部インストールできるのでしょうか?
0217nobodyさん
2007/02/14(水) 00:05:48ID:???apacheは入ってない状態でしたか。まずは
http://japache.infoscience.co.jp/apache/dist/httpd/から
httpd-2.0.59.tar.bz2 をダウンロードしてきてください。
0218nobodyさん
2007/02/14(水) 00:21:01ID:???0219nobodyさん
2007/02/14(水) 00:26:40ID:???0221nobodyさん
2007/02/14(水) 00:40:16ID:???それをLinux鯖に落として解凍したんだが、「それにアクセスするとアクセス権がない(403)と出るんだが仕様?
0222nobodyさん
2007/02/14(水) 00:45:00ID:???端から見てると訳わからん
0223nobodyさん
2007/02/14(水) 00:45:23ID:???0226nobodyさん
2007/02/14(水) 01:15:57ID:???Ajack Hacksあたりにそういうのあったね
php jsonでググレばこういうページが出てくる
ttp://www.doyouphp.jp/sample/sample_xml_json.shtml
0227nobodyさん
2007/02/14(水) 01:17:09ID:???ttp://pc10.2ch.net/test/read.cgi/mysv/1165573172/255
はいはい、マルチマルチ
明日、春一番吹くとおいうのにおまいらときたら・・・
0229nobodyさん
2007/02/14(水) 01:24:24ID:???こ、これは! 左遷ってやつか・・・
0230nobodyさん
2007/02/14(水) 01:26:26ID:???0231nobodyさん
2007/02/14(水) 01:29:29ID:???$array = preg_split('//',$str);
これでなら1文字ずつできたんだけど、
preg_splitのマルチバイトってないのかな?
mb_splitならあるのだが・・・
0235nobodyさん
2007/02/14(水) 01:49:08ID:NADcIyxP$str = "あaあiいうううeee";
//sjis
preg_match_all("/[\\x81-\\x9F\\xE0-\\xEF][\\x40-\\xFC]|[\\x00-\\x7F\\xA1-\\xDF]/", $str, $cap);
//euc
preg_match_all("/\\x8F[\\xA1-\\xAB\\xB0-\\xED\\xF3-\\xFE][\\xA1-\\xFE]|[\\xA1-\\xA8\\xAD\\xB0-\\xF4][\\xA1-\\xFE]|[\\x00-\\x7F]/", $str, $cap);
var_dump($cap);
0237nobodyさん
2007/02/14(水) 03:01:40ID:1cNo3AQsそこで二重クリック(カウント)防止について相談です。
1度クリックするとクッキーを発行し、一定の期間はカウントアップされない
ようにとも考えたのですが、これだとクッキーを有効にしてないと意味がない。
次に、クリック者のIPアドレスとクリック日をログに保存するパターンも
考えたのですが、これもいちいちログに保存していると、ログが誇大化しそう。
と言うわけで他の良いアイディア、「こうすればいい」と言うのはありませんでしょうか?
0238nobodyさん
2007/02/14(水) 03:04:03ID:???0239nobodyさん
2007/02/14(水) 03:09:23ID:1cNo3AQsそうですね。それしかないような気がしたんですが、
やっぱりそれしかないですね。。
ありがとうございました。
0241237
2007/02/14(水) 03:15:50ID:???メンバーサイトではそうしようと思っているのですが、
バナー広告(アフィリエイトみたいな)の場合、どうしたら
不正を防げるかな?と思いまして。
0242nobodyさん
2007/02/14(水) 03:21:13ID:???完全に防ぐ方法は存在しない(と思う(弱気))。
ログインさせる方法はほぼ完全に防げるけど。
同一IPからの投稿を防ぐというのは以下の点で問題がある
・proxyを強制的に使わせられる環境(会社とか)からだと1名しか使えない
・接続し直せばIPが変わるプロバイダがある
cookieを使う方法は以下の点で問題がある
・cookieを拒否するブラウザからだとアクセスを拒否するくらいしかできない
・cookieを消されたら何度でもアクセスできてしまう
以上の点を勘案してサイトの性格や客層を考えて、
どれが有効に機能するか考えれば良いかと思う。
0244nobodyさん
2007/02/14(水) 11:30:52ID:???0246nobodyさん
2007/02/14(水) 15:35:31ID:Wx0Ihw2Gmb_send_mail() などでメール送信しても、SquirrelMailの送信履歴に残りません。
これを残るようにするためには、どうすれば宜しいでしょうか?
0247虚弱PHP
2007/02/14(水) 16:04:02ID:???SquirrelMailは知りませんが、直接SquirrelMailと会話するとか。
またはSquirrelMailをハックしてデータファイル(またはDBを)いじるとか。
0248激初心者
2007/02/14(水) 16:11:48ID:znoSRiTBします。質問PHPの#makeができません。環境 Fedora 2
[root@localhost php-5.2.1]# ./configure --with-pgsql --with-apxs2=/usr/local/apache/bin/apxs --enable-mbstring --enable-mbregex
〜省略〜
Sorry, I cannot run apxs. Possible reasons follow:
1. Perl is not installed
2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
3. Apache was not built using --enable-so (the apxs usage page is displayed)
The output of /usr/local/apache/bin/apxs follows: apxs:Error: Sorry, no shared object support for Apache apxs:Error: available under your platform. Make sure
apxs:Error: the Apache module mod_so is compiled into apxs:Error: your server binary `/usr/local/apache/bin/httpd'. configure: error: Aborting
とでます。perlのインストールが必要ということでしょうか?
[root@localhost root]# rpm -qa perl* perl-HTML-Parser-3.35-5
perl-libxml-enno-1.02-30
perl-5.8.3-18
perl-URI-1.30-1
perl-HTML-Tagset-3.03-29
perl-Parse-Yapp-1.05-31
perl-XML-Parser-2.34-2
perl-libxml-perl-0.07-29
perl-XML-Encoding-1.01-25
perl-Text-Kakasi-1.05-10
perl-Filter-1.30-5
perl-DateManip-5.42a-1
perl-libwww-perl-5.79-1
perl-XML-Dumper-0.71-1
perl-NKF-2.04-2.1
perlの./configure も必要になるのでしょうか?
0249nobodyさん
2007/02/14(水) 16:16:09ID:???apxsのパスが間違ってると思われ
find / -name apxsで探してそのパスを指定すべし
あと、質問するときは「初心者ですけど〜・・・」とかはなるべく控えた方がいい
0250激初心者
2007/02/14(水) 16:19:19ID:znoSRiTBありがとうございました。初心者は次回より撤回します。
0253nobodyさん
2007/02/14(水) 16:50:52ID:???当たり前だバカ。
mb_send_mailは「単に送信」するだけで、記録とかはしてない。
それにPHPとSquirrelMailは連動してない。
0254nobodyさん
2007/02/14(水) 16:54:06ID:???送信ログ用のアカウントを作って、そこにもBccで
メール送ればいいんだよ。
当然、送信履歴としては残らんけどな
ログ目的なら用は足りるはず。
0255nobodyさん
2007/02/14(水) 16:56:49ID:J6wAx8mi0256nobodyさん
2007/02/14(水) 16:58:57ID:???0257nobodyさん
2007/02/14(水) 16:59:02ID:???それをログなりに使えるようにしてるよ
0258nobodyさん
2007/02/14(水) 16:59:02ID:???0259nobodyさん
2007/02/14(水) 17:16:18ID:???そりゃ大物だな。
0260nobodyさん
2007/02/14(水) 17:19:13ID:???0261nobodyさん
2007/02/14(水) 17:24:05ID:???0262nobodyさん
2007/02/14(水) 17:26:40ID:???エクステンションってどういうときに作りたくなるもんなんでしょうか?
0263nobodyさん
2007/02/14(水) 17:31:34ID:???クロスコンパイルできるコンパイラなら Windows でもできるけど
当然動作確認は Linux でやる必要があるわね
0264nobodyさん
2007/02/14(水) 17:49:16ID:Wx0Ihw2GSquirrelMailのcompose.phpをハックしているんですが、かなり難解です・・・
Outlook ExpressのIMAPでメール送信してもSquirrelMailで履歴残るので
恐らく鯖のIMAPに処理を投げれば送信履歴などの処理全部してくれると思うのですが。
>>254さん
すごい!それなら簡単ですね。
ただFROMが自分になり誰からメールが来たのか分からなくなるので、
もう一回FROMは送信相手で自分にメール送ればいいのかな。
0265248
2007/02/14(水) 17:50:48ID:znoSRiTBパスはあっているようです。
[root@localhost php-5.2.1]# find / -name apxs /root/apache_1.3.4/src/support/apxs
/usr/local/apache/bin/apxs
>>251 apache 2 ではありませんでした。
[root@localhost php-5.2.1]# ./configure --with-pgsql --with-apxs=/usr/local/apache/bin/apxs --enable-mbstring --enable-mbregex
〜省略〜
Configuring SAPI modules
checking for AOLserver support... no
checking for Apache 1.x module support via DSO through APXS...
Sorry, I was not able to successfully run APXS. Possible reasons:
1. Perl is not installed;
2. Apache was not compiled with DSO support (--enable-module=so);
3. 'apxs' is not in your path. Try to use --with-apxs=/path/to/apxs
The output of /usr/local/apache/bin/apxs follows
apxs:Error: Sorry, no shared object support for Apache
apxs:Error: available under your platform. Make sure
apxs:Error: the Apache module mod_so is compiled into
apxs:Error: your server binary `/usr/local/apache/bin/httpd'.
configure: error: Aborting
講習本の通りではうまくいかないのでつらいです。
0266264
2007/02/14(水) 17:56:14ID:Wx0Ihw2G0268nobodyさん
2007/02/14(水) 19:20:07ID:???「初心者ですけど」は言ったほうがいい。
どれくらいわかってる人間なのかわかったほうが教えるほうも教えやすい。
0269nobodyさん
2007/02/14(水) 19:31:30ID:/in1FXWr仕事をするにおいて、PHPが不要な職場でした。
しかし、PHPの実務経験を重ねたいと思うのですが、
フリーランスで受けたほうがよろしいのでしょうか?
0271nobodyさん
2007/02/14(水) 20:11:19ID:X1SIEjFH算出方法がわかりません。
日給で決めて月給を出すやりかたがいいですかね?
0272nobodyさん
2007/02/14(水) 20:30:30ID:dUL7YtjGいま、フォームに情報入力して、名前をつけて保存。
⇒あとで一覧から書く名前を指定して開く というようなメモ帳のシステムを
作っています。(DBは使わず、ただのファイル保存です)
で、「名前」をアルファベットにしたら問題ないのですが、日本語にしたら
あとで参照した時に文字化けしたファイル名がでてきます(しかも2つ)。
どうしたら良いでしょう?
メタのcharsetをEUCでブラウザに表示(入力画面も当然EUC)にしているんですが。
参照画面の名前一覧を表示する際に、保存ディレクトリ以下のファイルを
$dirObj = dir("./doc");
while($strPath = $dirObj->read()){
$strPath = mb_convert_encoding($strPath,"EUC","Sjis");
として取っているんですが、このエンコードでいいんでしょうか?
また、ファイルの中身を読み取る時も同様のエンコードをしています。
自分なりに"EUC"と"Sjis"を置き換えたりしたんですがうまくいきません。
原理的な部分で理解できていないんだと思うんですが、、
誰かご回答お願いします。
0273nobodyさん
2007/02/14(水) 20:57:43ID:???読み取る時にファイル名を
mb_convert_encoding($strPath,"EUC","SJIS");
するなら、保存する時に
mb_convert_encoding($strPath,"SJIS","EUC");
しておかないといかんと思うが?
0274nobodyさん
2007/02/14(水) 21:04:09ID:???phpと関係ないんですがwin環境用のapacheをsslと一体化したブツをコンパイルして作りました。
海外サイトに同じようなものがあるのですがアングラっぽいので自分で作ったのですが、
せっかくだから配布しようかと思っているのですが、
日本人がやったものが欲しいお方はいらっしゃいますかね?
それぞれのバージョンの最新、一個前のを置こうかと思ってます。
0276nobodyさん
2007/02/14(水) 22:21:45ID:dUL7YtjGそもそもの根本的な部分をお聞きしたいんですが、
>$strPath = mb_convert_encoding($strPath,"EUC","Sjis");
というの自体、何故SJISからEUCにエンコードしてるんでしょう?
SJISで保存されているデータはそのままいじると文字化けするから??
ワカラン、、、
0277248
2007/02/14(水) 22:26:54ID:znoSRiTBありがとうございます。みなさんのおかげでなんとかMAKEできました。
しかし、windowsしか知らない自分からみればかなりとまどいます。
linuxはなにか心構えというコツみたいのがあるのでしょうかね。
0278nobodyさん
2007/02/14(水) 22:28:07ID:???ビット計算って使う場面って出てきますか?
あと、シェル実行するような場面はどういう場面でしょう?
0279nobodyさん
2007/02/14(水) 22:36:34ID:???GIFアニメを合成するにはどうすればいいですか?
0280nobodyさん
2007/02/14(水) 22:41:45ID:???> 何故SJISからEUCにエンコードしてるんでしょう?
知らんがなw
保存時のコードを晒さないと正しい読み取り方が分からない。
0281nobodyさん
2007/02/14(水) 22:43:08ID:???GIFアニメといっても、GIF画像の集合体だから、
GIFデータを一つのファイルをマッピングすればいいだけ。
0282nobodyさん
2007/02/14(水) 22:45:24ID:???> 何故SJISからEUCにエンコードしてるんでしょう?
hint: char codes on Windows is 'SJIS', but char codes on UNIX OS is 'EUC'
0283nobodyさん
2007/02/14(水) 22:49:21ID:???GIF+GIFではGIFの最初のコマしか表示されませんでした。
ググってみたところ参考になるようなサイトがありません。。。
0285nobodyさん
2007/02/14(水) 23:10:32ID:???どのように書けば良いのでしょうか・・・?
header("Content-Type: image/gif", 2);
こうではないですよね・・
0286nobodyさん
2007/02/14(水) 23:25:58ID:???0287nobodyさん
2007/02/14(水) 23:39:39ID:???ビット演算は実務ではビットフラグの読み書きに一度使ったくらい。
ビットフラグについては検索したら出てくるよ。
&=と=&を勘違いしない程度に覚えるだけでいいと思う。
シェルはsystem()系関数全般の話?
PHPでどうしても直接操作できない処理に使う。
ps axに使った記憶があるけど、ひょっとしたらPHPでもできたかも。
>>279
PEAR探したらそれ系のライブラリあるかも。
0290nobodyさん
2007/02/15(木) 00:16:39ID:???勝手にコンピュータがやらんとしてることを読み取って
文法修正してくれる時代になったら3.0名乗ってもいいかもね。
0291nobodyさん
2007/02/15(木) 01:16:05ID:???Web1.0 −− 【地図のない旅行】おまえら(give)ユーザ(take)
Web2.0 −− 【地図のある旅行】おまえら(give&take)ユーザ(give&take)
Web3.0 −− 【ツアーによる旅行】おまえら({give&take}*2)ユーザ({give&take}*2)
0292nobodyさん
2007/02/15(木) 01:31:12ID:???よくわからないw
「ツアーによる旅行」とか「{give&take}*2」とか曖昧な表現でごまかさずに、
正確に定義しろ。
0293nobodyさん
2007/02/15(木) 01:33:29ID:???0295nobodyさん
2007/02/15(木) 02:07:10ID:148YlLut0296nobodyさん
2007/02/15(木) 03:24:09ID:RmGuU60L以下のように試してみたのですが、文字コードがうまく取れなくて困っています
$str = $_POST['txt'];
$str = unpack("C*", $str);
$max = count($str);
$buf = "";
$i = 1;
while($i <= $max) {
$char1 = $str[$i];
$char2 = $str[$i+1];
echo $char1.'<hr>';
if(($char1 == 0xF3) || ($char1 == 0xF4) || ($char1 == 0xF6) || ($char1 == 0xF7)) {
$d = strval(dechex($char1)).strval(dechex($char2)) ;
$buf .= "?".strtoupper($d).";" ;
}
$i++;
}
elseif(((0x81 <= $char1) && ($char1 <= 0x9f) ) || ((0xe0 <= $char1) && ($char1 <= 0xfc))){
$buf .= pack("C", $char1) . pack("C", $char2);
$i++;
}
else
$buf .= pack("C", $char1);
$i++;
}
return $buf;
}
絵文字をPOSTすると
echo $char1でau規定の絵文字コードである「0xF3、0xF4、0xF6、0xF7」になるはずなのに0xEEになってしまいます。。。
分かりにくいかもしれませんがどうかお力お貸しください(;ω;)
0297nobodyさん
2007/02/15(木) 05:17:34ID:???$c = count($str);
for($i = 1;$i <= $c;$i++){
$char1 = $str[$i];
$char2 = $str[$i + 1];
if((($char1 == 0xF3 || $char1 == 0xF6 || $char1 == 0xF7) && (($char2 >= 0x40 && $char2 <= 0x7E) || ($char2 >= 0x80 && $char2 <= 0xFC))) ||
($char1 == 0xF4 && (($char2 >= 0x40 && $char2 <= 0x7E) || ($char2 >= 0x80 && $char2 <= 0x8D)))){
$d = strval(dechex($char1)).strval(dechex($char2));
$buf .= "?".strtoupper($d).";";
$i++;
}else if(($char1 >= 0x81 && $char1 <= 0x9F) || ($char1 >= 0xE0 && $char1 <= 0xFC)){
$buf .= pack("C*", $char1, $char2);
$i++;
}else{
$buf .= pack("C", $char1);
}
}
0299nobodyさん
2007/02/15(木) 06:33:27ID:???他に携帯対応のランキングないですか?
0300299
2007/02/15(木) 06:40:43ID:???0301nobodyさん
2007/02/15(木) 10:38:22ID:???っていうか「web2.0」だって、巷でなんとなく使われてるだけで
別に正確な定義なんてないし定義する必要もないし。
ガチガチの定義を求めようとする考え方自体が「web1.0的」で古くてダサいww
0302虚弱PHP
2007/02/15(木) 10:48:27ID:???PHPからIMAP関数使ってメール送るでいいんじゃないでしょうか。
http://jp2.php.net/imap
インストールがちと面倒かもしれんけど。
あと、使ったことないからわからん。
0303nobodyさん
2007/02/15(木) 11:48:17ID:yf6o9ju+imagecreatefrom***
を呼び出すのではなく
自動に判断して欲しいのですが
そういう方法はないですか?
0305296
2007/02/15(木) 12:59:18ID:???echo $char1; -> echo dechex($char1).dechex($char2);
でした。
この値が笑った顔の絵文字だとEEB2、ハートだとEF82になるのです。。(通常だと)
$strにはきちんと絵文字が入っています。
本来なら笑った顔はF3A1、ハートはF7B2になるはずなんです(参照: ttp://www.au.kddi.com/ezfactory/tec/spec/pdf/typeD.pdf
内部コードはEUC-JP、表示画面はSJISです。
お願い致します。
0307nobodyさん
2007/02/15(木) 13:50:41ID:???(;゚ Д゚)
0308nobodyさん
2007/02/15(木) 13:57:55ID:???0309nobodyさん
2007/02/15(木) 14:06:44ID:???0310nobodyさん
2007/02/15(木) 14:23:11ID:???0311nobodyさん
2007/02/15(木) 15:20:42ID:nWsvEsXsなにか参考になるサイトや書籍その他あればぜひ教えていただきたい。
0312nobodyさん
2007/02/15(木) 15:27:05ID:???セル画のように
透過画像を背景画像に重ねあわせたいのですが、
透過gifだと問題なく重ね合わさるのですが
透過pngだと透過部分が透過になりません。
どうすれば透過させることができるのでしょうか。
0313nobodyさん
2007/02/15(木) 15:29:51ID:cLwPj1RO仕事でWebのデザインしてるの?
それとも?プライベートで?
プライベートなら
http://www.sozai-r.jp/p1rev60_4015.html
テンプレート使えばいいよ
毎回頭使わなく済んでる
テンプレートからまた好みにいじればいい
0314nobodyさん
2007/02/15(木) 15:34:43ID:???買取価格15万とかTAKEEEEEE!
普通にデザイナに発注できる値段じゃん
しかも書き換えないといけないし何なの
0315nobodyさん
2007/02/15(木) 16:06:16ID:nWsvEsXsありがとうございます。
一応仕事です。
Webのシステム作るのがメインですけどデザインも多少しないといけないので・・。
0317285
2007/02/15(木) 16:30:36ID:Mtb8sZSIheader("Content-Type: image/gif", 2);
は冗談のつもりです。
どうやってコマ数を指定すれば良いのでしょうか?
0318虚弱PHP
2007/02/15(木) 16:52:42ID:???関数使ってないから的外れかもしんないけど、
FireFoxだと透過表示されたりしないよね?
IE6だと透過png対応してなかったと思うけど。
0323虚弱PHP
2007/02/15(木) 17:32:00ID:???こんなのどうよ。PECL::imagickだって。ベータっぽいけど。
http://study.rakuto.net/php/phptips/imagick/
0324nobodyさん
2007/02/15(木) 17:44:07ID:???コントロールとイメージデータだけつなげるんだよ
ヘッダとトレーラは1個でいいんだからな
意味わからないならお前には無理
0325nobodyさん
2007/02/15(木) 17:53:11ID:???法律がわるいじゃねーよ、自業自得だろ。
0327nobodyさん
2007/02/15(木) 19:09:09ID:p5YTJionこのスレで回答もらえんってことで、
[PHP-users 31468] に進出してるぞ〜
すげーことするな〜
0329nobodyさん
2007/02/15(木) 19:42:31ID:???しかも全く無関係なスレッドに返信してるしww
0331nobodyさん
2007/02/15(木) 21:32:39ID:148YlLutですが、CSVが生成されるものの、エクセルで開こうとすると
「読み込めません」というエラーが出ます。なにが理由でしょう?
ご回答よろしくお願いします。
すみませんが、長いので書き込みを分けます
0332nobodyさん
2007/02/15(木) 21:34:32ID:148YlLut<?php
//変換先のcsvを開く ※fopenで対象ファイルがないときは自動的に作られる
$fp_o = fopen("books.csv","w");
//変換もとのファイルをオブジェクト化
$xml = simplexml_load_file('books.xml');
foreach($xml->book as $book){
//XML中のデータを格納する配列を作る
$aryTmp = array("isbn"=>"","name"=>"","publish"=>"","price"=>"");
//実際に代入
$aryTmp['isbn'] = $book['isbn'];
$aryTmp['name'] = $book -> name;
$aryTmp['publish'] = $book -> publish;
$aryTmp['price'] = $book -> price;
$strTmp = mb_convert_encoding(join(",",$aryTmp),"SJIS","UTF-8");
fputs($fp_o,$strTmp,"\n");
}
fclose($fp_o);
?>
変換終了しました
0333nobodyさん
2007/02/15(木) 21:36:49ID:148YlLut<?xml version="1.0" encoding="UTF-8" ?>
<books>
<book isbn="ISBN4-7980-0095-7">
<name>今日からつかえるXMLサンプル集</name>
<publish>秀和システム</publish>
<price>2800</price>
</book>
<book isbn="ISBN1-2345-6789-0">
<name>ダメ人間養成講座</name>
<publish>ダメダメ企画</publish>
<price>890</price>
</book>
<book isbn="ISBN0-9999-6666-3">
<name>樹海探検記</name>
<publish>ミイラ出版</publish>
<price>1200</price>
</book>
</books>
以上です。CSVのエラーとは別に特に分からない点として、phpの方の
$aryTmp['isbn']=$book['isbn']; だけ -> の形になってないのがなぜか分かりません
0334nobodyさん
2007/02/15(木) 21:38:19ID:???0335nobodyさん
2007/02/15(木) 21:40:13ID:???0336nobodyさん
2007/02/15(木) 21:42:22ID:???> ですが、CSVが生成されるものの、エクセルで開こうとすると
> 「読み込めません」というエラーが出ます。なにが理由でしょう?
障害の切り分けとして、Excelでエラーが出ているんだから、
そのCVSがどう出力されているかを見る方が先だろ?
CVSでエラーがでる行を特定するために、
エラーが出来なくなるまで行を削っていけば、原因が見えるはず。
0337nobodyさん
2007/02/15(木) 21:45:40ID:148YlLut秀和システムの「今日から使える php5サンプル集」(初版2004・12)って
本に載ってたんで、とりあえずやってるのですが、毎コミュの「php逆引きリファレンス」には
この関数自体のってません。(初版2006・11)
正直「XMLを使わなきゃ必要ない勉強かな」という気もしてるんですが・・・
初心者なので知らないんですが、phpの開発でXMLを併用すると
「すごく便利」というケースってあるんでしょうか?
0338nobodyさん
2007/02/15(木) 21:47:17ID:148YlLutすみません、CSVを確認しました。
エディタで開くとカラです。容量も0になっています。。
0339nobodyさん
2007/02/15(木) 21:48:08ID:???ちゃんと書き込まれてなくない?
(ファイルサイズが0kbになってるとか)
俺試してみたけどちゃんと書き込まれなかった
0341nobodyさん
2007/02/15(木) 21:50:19ID:???これがforeachの中にあるからじゃね?
0342nobodyさん
2007/02/15(木) 21:51:37ID:148YlLutはい、カラでした。 コードがおかしいんでしょうか??
でもみんなこんな関数使ってないのかなー 時間の無駄かなぁ。。
>>340
そうですか、 ますますヤル気が…w
0343nobodyさん
2007/02/15(木) 21:51:40ID:???> $aryTmp['isbn']=$book['isbn']; だけ -> の形になってないのがなぜか分かりません
isbnだけ属性値だからでしょ。
<isbn>uho</isbn>
とかあったら区別できないから。
0345nobodyさん
2007/02/15(木) 21:53:18ID:???整形するってくらいしか思い浮かばないかな
1回2回程度だったら手作業でやるが・・・
0346nobodyさん
2007/02/15(木) 21:54:37ID:???それだと、コンパイラーが誤った解釈する原因。
0347nobodyさん
2007/02/15(木) 21:55:36ID:+b+mInq+そのファイルがある1つ上の階層を取得するにはどうしたらいいのでしょうか?
相対指定じゃなくて、dirnameが使えるならその方法でのやり方を教えて下さい。
0348nobodyさん
2007/02/15(木) 21:55:45ID:???>>337
XMLは覚えておいて損はないよ
Webサービスで使われてることもあるし
年賀状印刷ソフトの住所録にも使われてる
0350nobodyさん
2007/02/15(木) 21:59:34ID:???name, publish, priceはbookの子要素だから ->(アロー演算子)を使う
属性の場合は連想配列
例えばnameの属性にsubtitleっていうのがって
<name subtitle="10日でマスター">今日から使えるXMLサンプル集</name>
となっている場合は、$book->name['subtitle']でアクセスできる
0351nobodyさん
2007/02/15(木) 22:01:29ID:148YlLutうっ ありがとうございます! うまくいきました!!
助かりました!
ほんとにありがとうございました。
>>333
なるほど、確かによく見たらそうですね
でも、何故コレだけこうなってるのか、ちゃんと解説してくれる本買えばよかったなー
>>345
たったそれだけのレスなのに知識不足で理解できません。リテラル値?
勉強します。
>>346
今後注意します。サンキュ
>>348
なるほど、 イマイチ知識不足でありがたみが分からないですが、、
必要が出てきてからじっくり勉強することにしました
皆さんありがとうございました。
0353nobodyさん
2007/02/15(木) 22:02:56ID:148YlLutおお、詳しい解説ありがとうございました!
なるほどねー
0355nobodyさん
2007/02/15(木) 22:03:42ID:???大量のデータを内部で扱うなら、XMLは向かない。
XMLは全文パースするのに、処理コストが掛かるから。
phpにもSAX系のXMLパーサーがあればいいんだが。
0356nobodyさん
2007/02/15(木) 22:04:50ID:???これのisbnってどこに入るんだ?
0358nobodyさん
2007/02/15(木) 22:05:02ID:l05otmqrローカルに保存するにはPHPでそう記述したらいいですか?
0360nobodyさん
2007/02/15(木) 22:07:29ID:???もしくは定期的にネタレスを投下してくる粘着。
もしくは真性。
0362nobodyさん
2007/02/15(木) 22:08:58ID:???file_put_contents('filename', file_get_contents('http://www.hoge.com/hoge.txt'));
0366nobodyさん
2007/02/15(木) 22:19:58ID:8fen4pAdsessionを利用する場合、
そのsessionデータはcookieに自動で保存されるのでしょうか?
それともsetcookieする必要があるのでしょうか?
0369nobodyさん
2007/02/15(木) 22:24:48ID:8fen4pAdと言うことはsessionつかって会員サイト作る場合
sessionデータをcookieなどを使って渡す必要がある
ということであってますか?
0370nobodyさん
2007/02/15(木) 22:25:21ID:???cookieはクライアントに記憶
じゃなかったっけ?
0371nobodyさん
2007/02/15(木) 22:30:28ID:???setcookieが必要なのはセッション以外の任意の値
0373nobodyさん
2007/02/15(木) 23:02:04ID:???0374nobodyさん
2007/02/15(木) 23:20:01ID:???0375nobodyさん
2007/02/16(金) 00:08:39ID:???どのような言語がわかれば作れるのでしょうか?
おすすめの書籍なども教えてください
0377nobodyさん
2007/02/16(金) 00:23:41ID:???0379nobodyさん
2007/02/16(金) 00:31:40ID:???コマンドプロンプトを表示しないものはありませんか?
0381nobodyさん
2007/02/16(金) 01:20:09ID:???0382nobodyさん
2007/02/16(金) 03:59:59ID:???0383379
2007/02/16(金) 07:17:59ID:???0384381-382
2007/02/16(金) 07:21:06ID:???382も自己解決しました。
0385nobodyさん
2007/02/16(金) 07:33:34ID:???gifcat.plをPHPに移植したgifcat.phpというのがある
gifcatはgifアニメの左位置をずらして全部表示させてるだけなので
その部分を改造したら普通のgifアニメにできるよ
0386nobodyさん
2007/02/16(金) 10:13:53ID:???>session_startを書いた時だけ
そりゃそうだ、session_startを使う=セッションを開始する、ってことだからな。
0387nobodyさん
2007/02/16(金) 10:27:38ID:ARswDuxSpostgreの関数でpg_fetch_objectっていうのあるじゃないですか?
まだ実験してないんですけど(汗
説明読んだ感じだと、自分で作ったクラスを指定して
あるメソッドを持ったオブジェクトに行を読み込んで
そのオブジェクトを保持した配列とか作れますよね?
で、それってPDOで出来ないのでしょうか?
FETCHタイプにPDO::FETCH_OBJっていうのがあるけど
オリジナルクラスを指定出来ないっぽいです・・・
日本語マニュアルに出てないカクレキャラとかありませんか?
もしくは見逃してたりして・・・
お願いします
0388381
2007/02/16(金) 10:59:44ID:fSTSWZAw>>384
やめてくれ
0390nobodyさん
2007/02/16(金) 11:25:57ID:???多分ないと思う、俺も探したような気がする
PEARのHTTP_ClientやZFのZend_Http_Clientで
各リクエストとクッキー操作あたりまではできるが
リンク辿ったりとかフォーム送信みたいなのまで
ちゃんとできてるライブラリは無いっぽい
スクレイピングツールもあんまりないし
phpはこういう類のライブラリ弱いイメージがある
0391381
2007/02/16(金) 11:34:02ID:???thx。いやまさにスクレイピングしようと思っていました。
素直にmechanize使います。(実はperlあまりさわったことないんだ・・・)
0392nobodyさん
2007/02/16(金) 12:23:28ID:???SimpleTestにScritable browserてのがあるよ、使ったこと無いけど。
個人的にはWebスクレイピングはMechanizeか、そうでないならnetcatでお手軽にすます。
0393nobodyさん
2007/02/16(金) 12:29:54ID:???相手先サーバーまで暗号化したいとです
0394nobodyさん
2007/02/16(金) 13:11:16ID:???これはPHPじゃなくて送信サーバの設定でじゃない?
0395nobodyさん
2007/02/16(金) 14:14:22ID:???0396nobodyさん
2007/02/16(金) 14:26:08ID:???0397nobodyさん
2007/02/16(金) 14:28:08ID:???>相手先サーバーまで暗号化
それはSSL使っても無理。
smtps(SSL)で暗号化されるのは、メール送信者のMUAとMTAまでの間の経路だけ。
PHPでメール送信する場合は「MUAとMTAの間」は事実上無い(同じサーバ上)。
だから意味が無い。
0398nobodyさん
2007/02/16(金) 14:43:48ID:???pseudo-cronというPHPでcronの代わりになると言うものがありました。
しかしこれはアクセスがあるページにソースをを貼って実行するので
本来のCronの機能とは全く違う気がします。(cronのコードは使えるけど…)
そこで質問ですが、PHPでcronのようなことはできないのでしょうか?
0399nobodyさん
2007/02/16(金) 14:56:04ID:???0400nobodyさん
2007/02/16(金) 14:59:01ID:???・携帯から定時にPHPスクにメール飛ばして起動(要メールまわりイジリー)
・クーロンが使える鯖を借りる
0402虚弱PHP
2007/02/16(金) 15:17:14ID:???0403nobodyさん
2007/02/16(金) 15:34:09ID:???0405nobodyさん
2007/02/16(金) 16:20:29ID:???一定時間おきにURLにアクセスしてくれるサービスをどこかでやってたな
まあそこのサバがダウンしたら意味ないけど
0406nobodyさん
2007/02/16(金) 16:35:12ID:???webcronね
http://www.webcron.org/
0407nobodyさん
2007/02/16(金) 17:40:15ID:84XPqP8V0408虚弱PHP
2007/02/16(金) 18:14:50ID:???PHP >= Perl >> Ruby
ハッカー的なとんがっている人はPerlとかRubyの方が多いと思う。
Rubyはこれから伸びそう。
Javaは別ジャンル。
「やれること」って曖昧すぎるよね。
0409nobodyさん
2007/02/16(金) 18:16:53ID:???0410nobodyさん
2007/02/16(金) 18:22:35ID:???0411nobodyさん
2007/02/16(金) 18:48:21ID:???そりゃPHPの圧勝。
やれることは「同じ」と言って差し支えない。
少なくともお前みたいな質問するレベルなら、どれでも同じことやれるから心配するな。
>>408も指摘してる通り、「Perlはヲタが未だに捨てられない技術」であり、「Rubyはヲタが新たに誇示したい技術」である。
したがって、ただ単に実用的に自分の願望を素早く実現したいだけなら、PHPを選んでおけば間違いない。
0412nobodyさん
2007/02/16(金) 18:52:40ID:???一日中PCとブラウザ立ち上げておいて
ツールで指定時間にsubmitしてるやつ昔いたよ
0413nobodyさん
2007/02/16(金) 18:59:35ID:???1日中PC使う電気代のほうが高いんじゃネ?
0414nobodyさん
2007/02/16(金) 19:12:46ID:???0415nobodyさん
2007/02/16(金) 19:23:26ID:???0416nobodyさん
2007/02/16(金) 19:32:07ID:???0417nobodyさん
2007/02/16(金) 19:33:33ID:dT8Hr45p主流だったりするの?
今までC言語的記述しかしてなかったからソース見てほんとびっくりしたんだよね
0418nobodyさん
2007/02/16(金) 19:36:48ID:???トラストジャパンの事件、同和利権&朝鮮人&街宣車…という、
2ちゃんで大騒ぎされそうな最強ネタなのに、全然話題になってないね。
なんでだろう?
2ちゃん内部に関係者がいるのかな??
0419nobodyさん
2007/02/16(金) 19:45:55ID:???0420nobodyさん
2007/02/16(金) 20:37:30ID:80BNRnzJPHPって、HTTPでアクセスがあったときにサーバサイドで動くものだと理解しているのですが、
だとすると、
1. メールに自動返信
2. 定時になったらメールを送る
といった、メールや時間をトリガーにした
動作ってのはできないもんなんですか?
0421387
2007/02/16(金) 20:45:59ID:???やっぱり見逃してた
PDO::FETCH_CLASS
っていうのがありました。
試してみます
お騒がせしました
0422nobodyさん
2007/02/16(金) 21:05:59ID:???Web用途に特化してるだけ。
シェルから普通のプログラム(インタプリタ)としても実行できる。
MTAなりcronなりお好きなトリガーでどうぞ。
0423nobodyさん
2007/02/16(金) 21:08:10ID:???1.メールボックスとPHP実行が同じマシンなら
メールボックスにメールが届いた際にPHPスクリプトを起動することが可能
>PHPって、HTTPでアクセスがあったときにサーバサイドで動くもの
が間違い。「.forward」とか「PHP-CLI」とかを調べる。
2.PHPスクリプトをずっと起動しておく(常駐)させておいて、
設定時刻になったら該当の処理をするということも可能だが、
(これも概ねPHP-CLIを使う)
このスレの少し前にも話題に上がってるcron/at/タスクスケジューラを使い、
「設定時刻になったら」の部分はそれらに任せ、そこからPHPスクリプトを起動する。
0425nobodyさん
2007/02/16(金) 21:33:12ID:oLVs3bsFPHPには可逆暗号関数が無いから自前で実装するしかないだろうけど、
どういったアルゴリズムがベストかな?
復号化を頻繁にやっても負荷が上がらないように、あまり重くない処理がいいよね。
たとえば16進数に変換してゴニョるとか?? おまいらのアイデア求む。
0427nobodyさん
2007/02/16(金) 21:46:07ID:???アイデアと呼べるかどうか分からないけど、
モジュールやPEARの一覧を調べるとか、
プログラマなら誰でも思い付くマトモな行動を取ればいいと思うよ!
0428nobodyさん
2007/02/16(金) 22:16:19ID:oLVs3bsFmcryptって可逆だったのか。。。 不可逆だと思い込んでた。
>>427
PEARとか、他人が作ったものは使いたくないっす。
万が一、データが漏れたときでも、なるべく復号アルゴリズムをわかりにくくするため、
自前で実装したいであります。でもmcrypt使うかも。
0430nobodyさん
2007/02/16(金) 22:28:57ID:oLVs3bsF0431nobodyさん
2007/02/16(金) 22:32:30ID:???1. 自分で妙なアルゴリズムを考えて、そのアルゴリズム自体を隠蔽する
2. 先人達が考案した実績あるアルゴリズムを採用して、その暗号化キーを隠蔽する
1より2のほうが遥かに簡単。かつ信頼性が高い。
もしあなたが高名な数学者とかだったら非礼をお詫びいたします。
0432nobodyさん
2007/02/16(金) 22:47:13ID:oLVs3bsF1番を採用しようと思います。
そんで、zendとかアシアルとか使って、スクリプト自体を暗号化します。
ttp://codelock.agtjapan.com/faqs.html
↑こういうのも見つけたけど、なんか日本語が変な直訳みたいなのがちょっと怪しい。
0433nobodyさん
2007/02/16(金) 22:49:21ID:???0434nobodyさん
2007/02/16(金) 22:57:58ID:???0437nobodyさん
2007/02/16(金) 23:11:36ID:vtSyuBIyphpでサイトを運営する上で、いろんなクラッカーとかイヤガラセの
攻撃を受ける可能性があるわけですが、そういうメンテナンス上の問題回避のために
読むべき、理解すべきことってどんなことでしょう?
そういうことをプログラムのノウハウ的にまとめている本でオススメってありますか?
技術的なことでなく、運営者マニュアルみたいなものでも良いですが。。
0438nobodyさん
2007/02/16(金) 23:13:28ID:???MySQLに入れたデータがphpMyAdminで文字化けする
接続照合順序utf8_unicode_ciじゃアウアウ?
0439nobodyさん
2007/02/16(金) 23:18:52ID:???さきほど、色々な方法があると言いましたが、
結局、php-cliを使う事が要点なのですね。
再質問で申し訳ないですが
つまりphp-cliでないと、
phpはhttpのリクエストで動くものという理解で良いという事でしょうか。
0440nobodyさん
2007/02/16(金) 23:19:26ID:???とりあえずこのへんとか。
http://www.atmarkit.co.jp/fsecurity/index/indexfiles/index-serial.html
セキュアなWebサイトを運営するための
Webアプリケーションに潜むセキュリティホール
Webアプリケーションに潜むセキュリティホールが注目されている。
その危険を認識し、セキュアな開発を目指そう
第1回 サーバのファイルが丸見え?!
第2回 顧客データがすべて盗まれる?!
第3回 気を付けたい貧弱なセッション管理
第4回 エラーメッセージの危険性
第5回 Webアプリケーションの検査テクニック
第6回 Webサイトのセッションまわりを調べる方法
第7回 攻撃されないためのセッション管理の検査方法
第8回 ロジック系の検査
第9回 オンラインショッピングにおける脆弱性の注意点
第10回 安全なWebアプリケーション開発のススメ
第11回 Webアプリケーションファイアウォールによる防御
第12回 mod_securityのXSS対策ルールを作成する
第13回 OSコマンドインジェクションを防ぐルールを作成する
最終回 Webアプリケーションの脆弱性を総括する
0443nobodyさん
2007/02/16(金) 23:39:14ID:vtSyuBIyありがとうございました たくさんありますねー
そのページ書いてあるようなことをプログラマは全部理解して
その上でコーディングしてるんでしょうか? すごいなー
自分は初心者なんで、信じられないですが、、
>>441
ありがとうございました XSS調べてみました
フォームに悪質なjsを書き込まれた場合の対処という理解で良いんでしょうか?
他の具体例も知りたいんで、なんか良い本ないですかね??
色々ありがとうございました。
他にもあったら気の向いた人教えてください。
0444439
2007/02/16(金) 23:41:23ID:80BNRnzJつまりそれは、
>>439の質問が、的外れな質問すぎて、Y/nで答えられないという事ですか?
とりあえず、UNIXの再勉強はしておきますが
>>439がどのくらい的外れなのかは、ちょっと教えてくれませんか。
0445nobodyさん
2007/02/16(金) 23:49:12ID:???OSレベルのセキュリティじゃなくって、Webアプリレベルのってこと?
>>440 のタイトル見ただけだが網羅されてるようだね。
PHPの本でセキュリティうたってるのをAmazonとかで検索してみな。
それとも、荒らし対策の話?
IPではじくとか、BBQとかそういう話か?
0446nobodyさん
2007/02/16(金) 23:59:41ID:j0IYGYSi画像の中心に表示したいのでピクセルで指定したいです
ピクセル-ポイント間変換はどうやればできますか?
0447445
2007/02/17(土) 00:04:32ID:???>そのページ書いてあるようなことをプログラマは全部理解して
>その上でコーディングしてるんでしょうか? すごいなー
いや、知らない人結構いると思うよ。
かなり大雑把だけど
・セッションがらみ(成りすましされちゃうとか)
・サニタイズがらみ(XSS,CSRF,SQLインジェクションとか)
・権限ミス(見せてはダメな人に見せちゃうとか)
ぐらいで分類できると思う。
0448nobodyさん
2007/02/17(土) 00:05:20ID:P/33vo48そうそう、OSレベルではなくて、スクリプトやアプリレベルです。
荒らし対策とか知りたいですね
単純にロボットスパム? ときどき掲示板に海外のエロサイトのアドレスが
馬鹿みたいに書かれてるの見かけますが、ああいうの防ぐ方法とか。
(ちなみに、書き込み送信前に画像の見難い数字パスワード?を入力させる方法
以外にどんなのがありますかね、アレ)
0449nobodyさん
2007/02/17(土) 00:09:16ID:???常駐してるメーラーダエモンさんからPHPに渡してもらえば良いだけだよ。
アパッチの中のPHPスクリプトに渡す時、一瞬CLI使うだけ。
全部PHPで作る気なの?
UNIXのコマンドとかもアパッチモジュール版のPHPの中から使えるし
無駄な徒労で意味無いよ。ってことが>>442の人は言いたいんだと思う。
0450nobodyさん
2007/02/17(土) 00:16:52ID:???有名どころの日本の商用レンタルBBSだと2バイト文字がない奴
全部弾いてたりする。
URLが入ってる投稿全部弾くようにhttp://とかに禁止ワード設定して
URL登録フォームはAJAX的にボタン押すと出現させるようにすれば
防げると思うけど、俺は面倒だからやってない。
0451445
2007/02/17(土) 00:16:55ID:???>書き込み送信前に画像の見難い数字パスワード?を入力させる方法
CAPTCHAのことだな。
あとは、シングルバイトのみははじくとか、
NGワードではじくとか、
IP、UserAgentではじくとか、
BBQではじくとか、
チケット使うとか、
かなぁ。。まぁ、どれも完璧じゃないです。
0452nobodyさん
2007/02/17(土) 00:30:05ID:???結構いろいろ方法があるけど
焼き鳥マジオヌヌヌ
これだけでほとんどはじけたよ
0453444
2007/02/17(土) 00:31:39ID:9nsEzfETなるほど。
何となく分かった気がします。
ありがとうございました。
CLIを使うか否かにこだわったのは、
今借りてるサーバがPHP 4.4.4 (cgi) だったからです。
何にせよ、もうちょっと、PHPだけじゃなくて、周辺知識を得てみます。
0454nobodyさん
2007/02/17(土) 00:36:47ID:P/33vo48焼き鳥ってなんですか?
あと、悪質な書き込みする奴弾く時はIPですかね?
荒らし書き込みした奴にクッキー食わせてそいつだけ弾くとかかな
0455nobodyさん
2007/02/17(土) 00:47:48ID:???0456nobodyさん
2007/02/17(土) 00:51:37ID:???DNSBLで検索汁
BBQのアドレスは覚えてないけどこれも検索すればすぐでてくるはず
あともう一つ海外の有名どころ1つくらい押さえたほうがいいかもね
0457446
2007/02/17(土) 01:11:37ID:???で、
DPIはlinux=75,win=96,mac=72
というところまでは分かりましたが
この場合DPIはクライアントのものになるのか
サーバのものになるのかどっちでしょう?
0458446
2007/02/17(土) 01:37:05ID:???rendering engine
らしいです
0459nobodyさん
2007/02/17(土) 01:41:35ID:???アニメーションを動かすには別のモジュールが必要なんだがどうすればいいよ?
0464nobodyさん
2007/02/17(土) 03:13:27ID:???imagemagick 使うなら
path 通して直に叩けばいいんじゃないの?
imagemagick で希望のことができるかは
私は知らないけれども。
0465nobodyさん
2007/02/17(土) 04:50:39ID:???見たいなhtml上で使っちゃいけない記号を、
「?」「?」「?」「?」「?」
といった文字列に置き換える関数はありませんか?
0466nobodyさん
2007/02/17(土) 04:51:57ID:???すいません置き換えられてしまいました。
質問の続きなんですが、うまく説明できないんですが、
html上で使える記号に置き換える関数はありませんか?
0467nobodyさん
2007/02/17(土) 05:09:08ID:???0469nobodyさん
2007/02/17(土) 09:49:27ID:???define("LOG", 0); //ログ記録するなら0 しないならその他の数字
if (LOG == 0) {
ログ記録する処理
}
define("LOG", 0); //ログ記録するなら0 しないなら1
if (LOG == 0) {
ログ記録する処理
} elseif (LOG == 1) {
何もしない
} else {
die("LOGの設定がおかしい");
}
どっちがいいと思いますか?
それとも他にもっと合理的な書き方がありますか?
0470469
2007/02/17(土) 09:54:16ID:EkLER66+0473nobodyさん
2007/02/17(土) 10:09:04ID:???それを0-9も含めたカウントしたいんですが
比較を使って手動でカウントする以外の方法はありますでしょうか?
よろしくお願いします
0474nobodyさん
2007/02/17(土) 10:10:56ID:???こんな感じの時間を返したいと思っているんですが、
これは何基準で返した時間なんでしょうか?
年と日付はdateで返せるんですが、
時間が+とかついててちょっと良くわかりません。
どんな関数を使えばいいんでしょうか?
0475nobodyさん
2007/02/17(土) 10:27:13ID:it5sKBkRhttp://jp.php.net/manual/ja/function.date.php
ISO 8601 日付 (PHP 5 で追加されました)を使えばいいと思うよ。
0476nobodyさん
2007/02/17(土) 10:36:02ID:jve/T2Nqあるいは \n で統一しても良いのでしょうか・・・。
どなたかご教示願います。
0478nobodyさん
2007/02/17(土) 10:46:07ID:???0479nobodyさん
2007/02/17(土) 11:00:12ID:???それでもいいけど、できれば 1のとき記録するにしたほうがよいんじゃない?
if(LOG) {
記録処理
}
でいける。
0484nobodyさん
2007/02/17(土) 14:17:54ID:???これをどう略したらPHPになるんですか?
0485nobodyさん
2007/02/17(土) 14:28:19ID:???0486nobodyさん
2007/02/17(土) 14:38:57ID:???0488nobodyさん
2007/02/17(土) 16:31:41ID:g7Ihrm8U新規スレッド作成の時にリファラ情報が変と出ます。
リファラ情報を変えることはできないのでしょうか?
0490nobodyさん
2007/02/17(土) 16:49:24ID:g7Ihrm8Uつまり、外部からの書き込みは不可なんでしょうか?
0491nobodyさん
2007/02/17(土) 16:56:44ID:???php-cgiはCGIとして利用する場合は、HTTPサーバが前提だけど
php-cliが出来る前は、php-cliの代わりにも利用されてきた。
つうことでphp-cgiが入ってれば、貴方の期待するようなことは出来ると思うよ。
0493nobodyさん
2007/02/17(土) 17:03:48ID:g7Ihrm8UWindowsなのでおそらく入っていないです
0495nobodyさん
2007/02/17(土) 17:20:01ID:???普通のやり方だと無理だと思う。
$_SERVER変数は定義済み変数で、変数でありながらユーザーサイドで変更できない。
http://www.php.net/manual/ja/reserved.variables.php
0496nobodyさん
2007/02/17(土) 17:33:43ID:???0497nobodyさん
2007/02/17(土) 17:41:00ID:g7Ihrm8Ukwsk
0498nobodyさん
2007/02/17(土) 17:59:07ID:???php-cgi.exeという名前か、php.exeという名前で入ってる。
php-cliの方はphp-cli.exeという名前か、php.exeという名前で入ってる。php-win.exeも
cgiとcliが同じ名前で一時期混乱を招いた(Win版に限らず)。
取り合えずパスの優先順に気を付けた上で「php-hoge -v」してみ。
0499nobodyさん
2007/02/17(土) 17:59:33ID:???0500nobodyさん
2007/02/17(土) 18:13:19ID:???0503502
2007/02/17(土) 18:39:26ID:???と
http://www.7key.jp/nw/technology/protocol/http1.html
あたりを見ればわかるかも
0504nobodyさん
2007/02/17(土) 18:39:37ID:g7Ihrm8Uhttp://space-town.net/~vipper/kuso/index.php
0505nobodyさん
2007/02/17(土) 20:26:51ID:dqj9QXntもう既にPHPがインストール済みの場合、あとからそういうのを
パッチ的に(?)当てたりすることは出来るんでしょうか?
それともコンパイル&インストールからやり直し??
(共用レン鯖とかだと、それさえも不可能ですが・・・)
0506nobodyさん
2007/02/17(土) 20:30:57ID:???そんなパッチがあったとしても
レン鯖屋のバイナリに勝手にパッチ当てられるわけないでしょ。
レン鯖の提供する機能でやりくりするか
レン鯖屋を乗り換えるしかない。
0507nobodyさん
2007/02/17(土) 21:07:07ID:???0509nobodyさん
2007/02/17(土) 21:33:17ID:???0510nobodyさん
2007/02/17(土) 21:36:24ID:???rpmで入れてて、追加したい拡張機能のrpmがあるなら出来るかな。
http://q.hatena.ne.jp/1153517724
0511nobodyさん
2007/02/17(土) 21:47:26ID:???0512nobodyさん
2007/02/17(土) 21:48:22ID:???要点はそこじゃないだろバカかお前ww
つまり「コンパイル・オプションを後から追加できるかどうか」って話だろ。
手法がパッチかどうかの問題じゃないっしょ。
0513nobodyさん
2007/02/17(土) 21:52:07ID:???0514nobodyさん
2007/02/17(土) 21:53:50ID:???全部の拡張機能が可能というわけではないが、
後からでもphpの起動時に動的にロードできる。
# 実行にロードできるものも
「phpize」をキーワードにして検索。
0515nobodyさん
2007/02/17(土) 22:06:07ID:???何よりも、いま正常に動いているスクリプトが動かなくなったら怖いよな。
0516nobodyさん
2007/02/17(土) 22:21:55ID:???↑こういう手法もあるみたいだけど、なんかめんどくさいね。
もっと簡単に、ファイルをディレクトリに置くだけとかで
機能拡張できるようにしてくれないもんかね? <PHP
0517nobodyさん
2007/02/17(土) 22:32:05ID:???いたって普通の手法じゃねぇか。
ファイル置いてphp.iniで有効にするだけだろ。
それすら嫌なら全部phpで書けよ。
0518nobodyさん
2007/02/17(土) 23:10:27ID:???ビルドだのインストール作業だのがあるじゃん。
そうじゃなくて、コンパイル済みのバイナリをアップして
php.iniをいじるだけ…とかにしてほしいんだ。
0519nobodyさん
2007/02/17(土) 23:16:27ID:???これ使ってみたいんだが、なんか代理店が怪しすぎて導入が怖い。
誰か試用版を使ってみて、人柱になってくれないっすか?
0522nobodyさん
2007/02/17(土) 23:25:18ID:???0528nobodyさん
2007/02/17(土) 23:45:45ID:g7Ihrm8U戯言⇒ざれごと(ふざけて言う言葉。冗談。)
虚言⇒きょげん(うそ。いつわり。)
0529nobodyさん
2007/02/17(土) 23:54:07ID:???524じゃないけどもうやったよ。
パスワード入力をする前のコードは復元できなかった(つか時間が無くてあんまり出来なかった)けど
入力後のコードは普通に特定の文字を置換してbase64_decodeしたら生ソースが出てきた。
SourceCopよりかはベター、Zendのに比べれば劣る(当たり前だけど)
某所で見かけた難読化のやつはすごかった。非ASCIIのバイナリを直接関数にわたしてた。
0531439
2007/02/18(日) 00:05:13ID:???>>491
レスありがとうございます。
UNIX系の知識自体が不足していたようで、申し訳ないです。
phpばかりじゃなくてunixももうちょっと勉強して、答える側に回りたいものです
0532nobodyさん
2007/02/18(日) 00:41:29ID:VMFXb98L0534nobodyさん
2007/02/18(日) 00:50:02ID:???>base64_decodeしたら生ソースが出てきた
そういうのは暗号化とは言わないんだよバカ。
あの製品は、HTMLとJSは、単に難読化してるだけで暗号化はしてない(っていうか暗号化したらブラウザが読めなくなる)。
そっちじゃなくて、「暗号化されたPHPスクリプトのソース」を解読してみろって言ってんの。
>>530 ハァ? なんで社員になるんだよチンカス。
0535nobodyさん
2007/02/18(日) 00:52:25ID:???HTMLソース隠蔽とPHPソース隠蔽とをごっちゃに混同しているようだ。
両者はそれぞれ全く別の話。
0537nobodyさん
2007/02/18(日) 00:53:57ID:???0538nobodyさん
2007/02/18(日) 01:02:23ID:???http://***.com/link.php?a=1
で、このリンクをクリックしたら解析のページにlocationで飛びます。
ここまではわかるのですが、locationにパラメーターを指定して
index.php?b=1みたいにしてもいいのでしょうか?
index.phpでは、$_GET["b"]に1が表示されれば良いんです。
0540nobodyさん
2007/02/18(日) 01:06:15ID:???0541nobodyさん
2007/02/18(日) 01:07:01ID:???久しぶりに良い質問だ。
30x系のHTTPヘッダーにそのままパラメータ付きのURLを入れればOK。
GETメソッドなら、RFC上も全く問題ない。
0544nobodyさん
2007/02/18(日) 01:12:44ID:???header("Location:./index.php?b=1");
ってできるかってこと?
僕はそれやったことあるよ
0545nobodyさん
2007/02/18(日) 01:32:06ID:???0546529
2007/02/18(日) 02:36:34ID:???意味が分からん。そもそも暗号化なんて言葉は一言も使ってない。
それに俺が言ってるのはその製品におまけ程度に付いてるHTMLを難読化する機能じゃなくphpを難読化する方のことなんだけど。
つかHTMLの難読化なんて一切話題にしてないし。
base64_decodeが馬鹿ならその製品に言ってくれ。実際にそれだけで生ソースが出てきたんだから。
0547nobodyさん
2007/02/18(日) 02:47:42ID:???>>526の発言に対して、「もうクラックした」と言ってるじゃないかお前。バカだろお前w
base64_decode=クラックじゃねぇぞ。ただのデコードだろ。
そんで、PHPソースはbase64エンコじゃねぇし。
実際にやったことないくせに妄想で語るな嘘吐きが。
0548nobodyさん
2007/02/18(日) 02:51:52ID:???Javaは全部逆コンパイルできるからシェアウェアとか作りづらい。
0549nobodyさん
2007/02/18(日) 03:01:54ID:???あとライセンス体系も。
0550nobodyさん
2007/02/18(日) 03:06:06ID:???0551529
2007/02/18(日) 03:15:32ID:???実際にやったよ。そんなに疑うならサンプルファイル用意してみろ。
用意したものを元に戻せばおまえさんも納得ですか?
つかクラックなんて超絶に頭の悪い発言したのは俺じゃない。
勝手に>>526と結びつけないでくれ。
内部でbase64_decode使ってるのは事実なんだから妄想も糞もないがな。
>>548
ProGuardが無償で提供されてるだけでも。。
0552nobodyさん
2007/02/18(日) 03:15:53ID:???どんな言語でも逆アセンブル(逆コンパイル)は可能だろう。
原理的には。
0553nobodyさん
2007/02/18(日) 05:22:21ID:???0554nobodyさん
2007/02/18(日) 05:31:48ID:???こういう民度の低いのがいるからPHPは見下されるんです。カエレ(・∀・)!!
0555nobodyさん
2007/02/18(日) 08:29:46ID:IA/vQM+L自分は今まですべてのコンテンツ分の登録・編集機能を用意してて
自由に管理者が投稿出来るようにしたのですが、それを友人に試用して
もらったところ、「投稿したはずの書き込みが別のユーザで反映されている」
との指摘を受けました。(実際は、ユーザIDを間違えて登録していた
会員制の掲示板の場合、書き込みさせたいユーザがログインして書き込むので
ユーザIDが違うと言った問題はないのですが、管理者が管理システムから
書き込めるようにすると、そのような問題が考えられます。
そこで質問ですが、皆さんは会員制サイトを作る時の管理システム(管理者が使う)で、
登録・編集フォームはすべてのコンテンツ分、用意してますか?
もしくは管理者には自由に書き込めないようにしてますか?
自分の調べたところphpBBもOpenPNEも会員としてログインして書き込む形になっていました。
0556nobodyさん
2007/02/18(日) 08:55:51ID:???掲示板みたいな大したものじゃなかったら面倒なので削除だけだし
企業ものだったらほぼ全てっていうかフレームワークでできたcrudそのままって感じだし。
ただsuperAdminの権限を与える場合は
大抵DBも扱えるようにしてるからphpadminとかで勝手にやっちまえ
っていうお話。
0557555
2007/02/18(日) 09:05:41ID:???ありがとうございます。自分用の場合は大体
>大抵DBも扱えるようにしてるからphpadminとかで勝手にやっちまえ
>っていうお話。
で済むのですが、第三者が使う場合、何が一番良いのか迷う時があります。
仕事みたいに依頼されて作る場合は主旨が明確なので作りやすいのですが、
WEBの知識の無い人間に対して利用させる場合、を想定すると実に迷います。
ほぼすべての機能を使えるようにしたら誤った操作をしてしまわないか?
っと思うし、仮に使える機能を制限すると、管理者が投稿する時は
いちいち会員として投稿しなきゃいけなくなる。その点の判断が
いつも迷ってしまい、フローチャートの段階で詰まることも多々あります。
(実は今も詰まってしまい、質問したわけですが...
0558529
2007/02/18(日) 10:45:39ID:???何が必死なのか何が民度が低いのか、
レス返しただけなんだけど。
phpのスレでphpについての話題をして
帰れと言い出す>>554の脳はさぞ素晴らしいんでしょうね。
結局>>547はサンプルも用意できずに逃げたみたいだから
出てくるまではこのスレには来ないよ。
0560nobodyさん
2007/02/18(日) 12:07:55ID:7ifKcsCF正規表現で特定のディレクトリに特定のメッセージ出したりリダイレクトできたらいいんだけど
0561nobodyさん
2007/02/18(日) 12:11:13ID:7ifKcsCFスペルミス
0563nobodyさん
2007/02/18(日) 13:10:41ID:zIKYxPXSimap_openでopenに失敗した場合に即効で値が返ってくる方法はありませんでしょうか?。
imap_timeoutを使っても時間がかかったりPHPのタイムアウトまで時間がかかってしまいます。
0564nobodyさん
2007/02/18(日) 13:14:36ID:???0565nobodyさん
2007/02/18(日) 13:17:06ID:ix4BYiPNくだらない質問を一つさせてください。
例外処理ってどうしてますか?
例えばクラス側では投げるのに徹して、クライアント(実際にブラウザで実行するphp)側で
tryとcatchをするとか、セオリーみたいなのってありますか?
もっと楽そうなのは、投げっぱなしにしておいて
set_exception_handler()で一括処理なんて言うのも考えたんですけど
あんまりしませんか?この方法は問題ありでしょうか?
意見ありましたらお願いします。
0566nobodyさん
2007/02/18(日) 13:17:25ID:???たとえば削除なら
削除権限をつけた管理者だけが削除フラグを1にでき
かつ管理者の操作ログを保存する。
匿名掲示板程度ならここまで大げさにしないけどね。
0568nobodyさん
2007/02/18(日) 14:58:03ID:???セオリーみたいなのがあるかどうかは知らないけど・・・。
throwはとにかく例外的なことが起こったらどこでも投げればいい。
try-catchは、例外から回復するのが目的なので、きちんと意味のわかるところにおいておくのがよい。
まとめられるものはなるべくまとめる方が楽だから、トップレベルで全部catchしたくなるのもわかるけど、それではrobustなシステムは作れない。
クラスの中でもcatchして流れを継続できる部分があるかどうかも検討すべき。
もちろん面倒なときに、「全部まとめてcatch」みたいなことができるのも、この構文の利点ではあるけどね。
0569nobodyさん
2007/02/18(日) 15:43:05ID:???マニュアルとか見て意味は分かるけど
具体的な使用例がほしい
どこかのスクリプトで使ってるところありますか?
0570nobodyさん
2007/02/18(日) 15:49:02ID:???「復号キー」の存在を知らないのだろうか??
何のための「復号キー」なのだ、と小一時間・・・
まさか試用版の固定された復号キーであるという前提で、「解読できた」とか
言ってんじゃないだろうな?このバカww
0571nobodyさん
2007/02/18(日) 16:01:04ID:???0572nobodyさん
2007/02/18(日) 16:07:56ID:K0qFGfn0$img2 = $img1
等の方法で単純にコピーしようとすると
リファレンス渡しになります。
値渡しで丸コピーするにはどうすればよいですか?
0574nobodyさん
2007/02/18(日) 16:14:40ID:???0575529
2007/02/18(日) 16:15:51ID:???意味ぐらい知ってるよ。あんたほど馬鹿じゃないんでね。
今日ざっとCodelockの中身を見てみて完全じゃないけどそのキーの発見方法も見つけた。
つか問題なのは複合したあとのコードがいともたやすくデコードできてしまうことだろ?
複合キーで複合したあとのソースなんて難読化のかけらも無い。
実用で使う時には既に複合キーで解除されたあとなんだから何かの手違いでソースが漏れたらやばいだろって話。
おわかり?
0577nobodyさん
2007/02/18(日) 17:01:54ID:???俺もやってみたけど、キーで復号したあとのテキストも、
単純なbase64デコードではごく一部しか復元できなかったが?
0578529
2007/02/18(日) 17:20:26ID:???別にこの製品を否定してるわけじゃないよ。
実行不可能なほどの暗号化をするのはZendとかionCubeとか。
比べれば分かるけど値段が全然違うでしょ。
スクリプト自体に脆弱性があればソースを難読化しようが暗号化しようが問題ありありなのを分かってほしい。
>>577
当たり前。俺の過去のレス読んでよ。
つかデコード方法を解説したらまずいと思うからそこらへんは自分でやって。
0579nobodyさん
2007/02/18(日) 18:03:17ID:???>実行不可能
「実行」の意味を勘違いしてる気がする。「解読を実行」って意味で使ってるだろ?
そうじゃなくて、「スクリプトの実行」だよ。zendが実行不可能な暗号化するわけないだろw 意味がない。
>スクリプト自体に脆弱性があれば・・・
論点ズレてる。そんなことは今は問題にしていない。
0580529
2007/02/18(日) 18:08:04ID:???Loaderが無ければ実行不可なんだからそういった表現をしたまで。
ほかのスクリプトは単体(サポートスクリプト含む)で動く。
つか論点って何よ。何を気にしたいわけ?
0582nobodyさん
2007/02/18(日) 18:56:36ID:???0584nobodyさん
2007/02/18(日) 19:18:55ID:???0585nobodyさん
2007/02/18(日) 19:28:21ID:???0586nobodyさん
2007/02/18(日) 20:04:02ID:???実際に表示される文字列のサイズと
かなり乖離してるのですが
このあたりどうしてますか?
0587nobodyさん
2007/02/18(日) 20:15:29ID:???エラー画面のカスタマイズはset_error_handler()でできる。
特定ディレクトリは…AliasMatchでどっかのPHPに飛ばして
そこでエラーハンドラ書き換えて再び本来のスクリプトを
includeなりすりゃいいんだろうけど、一筋縄では行かないかもね。
>>569
例えば通常の運用では出ないようなイレギュラーなエラーのために
関数の引数をわざわざ参照にしてそこに戻り値入れさせたり
上位関数に返すために毎回エラーの有無確認したり面倒でしょ?
>>586
他の言語でGD触った時の情報だけど、
戻り値に実際に書き込んだ矩形の位置情報が
配列で返ってきたからそれで調整したよ。
>>581
実例のために早くサンプル用意してね。
0588nobodyさん
2007/02/18(日) 20:34:24ID:???ファイル名による条件分岐を前スレで教えて頂いたのですが、
どうしてもうまくいかないものでお知恵を拝借させてください。
top_link.php、und_index.php、sid_read.phpと3つファイルがあるとして
ファイル名の頭3文字による条件分岐をしたい
<?php
$array = array("top_link.php", "und_index.php", "sid_read.php");
foreach($array as $file){
preg_match("/(.*)_.*\.php/", $file, $match);
switch ($match[1]){
case "top":
echo "トップ";
break;
case "und":
echo "アンダー";
break;
default:
echo "その他";
}
}?>
ところが実行するとechoが全て実行されてしまいます。
どうやったらうまくいきますでしょうか?
0591588
2007/02/18(日) 22:04:04ID:???すいません、あほな書き方してしまいました。
やりたいことは、ファイル名によって表示文字を分岐させたいということです。
$File = basename($_SERVER['SCRIPT_NAME'],".php");
<?php
preg_match('/(.*)_.*\.php/', $File, $match){
switch ($match[1]){
case 'top':
echo 'トップ';
break;
case 'und':
echo 'アンダー';
break;
default:
echo 'その他';
}
}
?>
自分の力ではなかなかうまくいきませんで・・・
0592590
2007/02/18(日) 22:04:37ID:???A=0 B=1 C=2 .... a=26 b=27 c=28 ... 0=52 1=53 2=54 +=62 /=63 ==64 その他は0
に変換する。
1文字目は上の式の(値-0)/4の商
2文字目は(値-1)/4
3は(値-2)/4
4は(値-3)/4
5文字目は1文字目と同じ6文字目は2文字目と同じ……と変換していく。
変換した値を2進数にして頭に0をつける。
各文字を結合。
ここまで第一段階。
0595590
2007/02/18(日) 22:30:26ID:???分割した値を10進数に変換
暗号化キーから、現在のループ回数%8の値文字目を取り出す。=$bとする
10進数にした値から暗号化キー文字数(strlen)を引くきchr()にかける。 = $aとする
ビット演算子 xor
$text = ord($a) ^ ord($b))
$textを再びchr()にかける。 8文字で分割したやつすべて上の処理して結合
暗号化キーは暗号化されたスクリプトの3行目あたり$codelock_lock変数に格納されてるものをbase64デコードして、
$codelock_unlockで検索すれば書いてある。
疲れたので続きはまた明日。
というか、複雑にするためかif文とかわざわざ文字列で書いてevalとかしてるしかなりめんどい。
このあとgzinflateとかbase64_decodeがものすごいからみあってくる。
簡単に書くと
コード -> 2進数 -> 10進数 -> ビットレベルで変換 -> base64デコード -> (deflate解凍) -> base64_decode -> deflate圧縮 -> deflate圧縮 -> base64_encode
かな。
これが暗号化する方法だから、複合化は逆順で。
まぁ明日まってろ。
0596nobodyさん
2007/02/18(日) 22:38:31ID:???0597529
2007/02/18(日) 22:49:40ID:???0599nobodyさん
2007/02/18(日) 23:54:15ID:RrKrWkvDのですがどうすればいいでしょうか?
0600nobodyさん
2007/02/19(月) 00:25:29ID:???>>590じゃないけど、いったいどこに何を訴えると言うのだww
むしろ簡単にクラックできる暗号化ソフトを有料で売ってる方が訴えられるぞw
0601nobodyさん
2007/02/19(月) 00:34:03ID:axdehxdy送信するというのを作っています。
で、環境はwinでアパッチ+PHPなんですが、事前の準備としてphp.iniの設定が
良くわかりません。
[mail function]
; For Win32 only.
SMTP =
smtp_port = 25
; For Win32 only.
sendmail_from =
SMTPとsendmail_fromにはなにを入れたら良いんですか?
デフォルトではlocalhostが入っていましたが。。
契約しているプロバイダのsmtpと自分のプロバイダメールアドレスで良いんでしょうか・
試しにやってみたらエラーが出ました。。>SMTP server response: 503 No recipient(s)
よろしければ教えてください。よろしくお願いします。
0602nobodyさん
2007/02/19(月) 00:43:06ID:???その昔radishってフリーソフトをインスコしてやったような希ガス
詳細は忘れた
0603nobodyさん
2007/02/19(月) 00:47:20ID:axdehxdywinにはないから、どこかのsmtp設定する必要があるんですよね。
じゃあリナックス入れた方が良いんでしょうか?最終的にはレンタル鯖で
リナックスで操作することになると思うんですが、、
phpの勉強だけならwin環境で良いかと思ってたのですが、色々複合して
やろうとすると結構不便なのかなー
0604nobodyさん
2007/02/19(月) 00:51:46ID:???ttp://readygo.s8.xrea.com/php/php_ls01.php
>SMTPとsendmail_fromにはなにを入れたら良いんですか?
ならsendmail_from と php.iniでぐぐればいい
0606nobodyさん
2007/02/19(月) 02:21:45ID:???などのようにして動的にファイルを読み込んでいて。
受けて側を↓にしてます。
readfile("{root}/files/" . $_GET["fileName"]);
この{root}以下に重要なファイルがあるのですが、
/files/以下だけは、どのファイルを読み込まれてもOKです。
このようなロジックで、/files/以外のディレクトリが
悪意のユーザーによって読み込まれてしまう可能性ってありますか??
0607nobodyさん
2007/02/19(月) 02:24:52ID:???0608nobodyさん
2007/02/19(月) 02:26:50ID:???お前はとりあえず一度回線切って首(ry
つーか{root}ってなんだよ? 変数のつもり?
基礎からやり直せ。
0609nobodyさん
2007/02/19(月) 02:35:33ID:???0610nobodyさん
2007/02/19(月) 02:40:44ID:???../secret.txt
って入力されたらアウトかな。readfileの実装によるけど試してみる価値はある。
0611nobodyさん
2007/02/19(月) 02:47:59ID:???すみません。説明が悪くて。
>>610
>../secret.txt
試してみました。で、これは大丈夫でした。404エラーになりました。
ディレクトリまで指定して、ファイル名だけをGETのパラメータにしているので、
大丈夫だと思っていますが、イタズラが結構多いので心配しています。
0612nobodyさん
2007/02/19(月) 02:52:04ID:???あらかじめファイル名のリスト用意しておくとか
0613nobodyさん
2007/02/19(月) 02:53:05ID:???いや、パスで指定してるんだから404は関係ない。
URLエンコードしたのでこれで試してみて。
test.php?fileName=%2e%2e%2fsecret%2etxt
0614nobodyさん
2007/02/19(月) 02:54:24ID:???0615nobodyさん
2007/02/19(月) 03:09:46ID:???> いや、パスで指定してるんだから404は関係ない。
確かに!!そうですね。
> URLエンコードしたのでこれで試してみて。
> test.php?fileName=%2e%2e%2fsecret%2etxt
ははは、駄目でした。見つかっちゃいました。
>>612
> 心配だったらファイル名正規表現でチェキするとか、
なるほど、そうしたら、.htaccessで↓のように書きました。
RewriteRule ^([a-z0-9]+)\.php\?fileName=([a-z0-9\.]+)$ $1.php?fileName=$2
RewriteRule ^([a-z0-9]+)\.php\?fileName=(.+)$ /404.htm
↑これで、動作的にも上のような問題にも対応できそうですが、
他に問題点などありますか?
0616nobodyさん
2007/02/19(月) 03:17:37ID:???を正規表現でチェックしろってことだろ?
".."を含んでる場合はあぶないよな?
あと、ブラックよりホワイトチェックのがよい
0617nobodyさん
2007/02/19(月) 03:25:42ID:???何か良い方法ないでしょうか??
$fp = fsockopen($host, 80, $errno, $errstr, 30);
while(!feof($fp)){ $line .= fgets($fp); }
fclose($fp);
0618nobodyさん
2007/02/19(月) 03:26:12ID:???0619nobodyさん
2007/02/19(月) 03:35:59ID:???> $_GET["fileName"]
> を正規表現でチェックしろってことだろ?
あ、確かに。このパラメータ限定で.も入らないようにチェックします。
> あと、ブラックよりホワイトチェックのがよい
すみません、これで最後ですが、この「ホワイトチェック」ってどういう意味でしょうか?
googleで「ホワイトチェック」でも「ホワイトチェック php」でも「ホワイトチェック プログラム」でも、
検索してみたのですが、ホワイトチェック「柄」のページばかり引っ掛かってしまってみつかりませんでした…
0620nobodyさん
2007/02/19(月) 03:42:46ID:???http://www.pursue.ne.jp/jouhousyo/sysad/kaihatu/test/test02.html
0622nobodyさん
2007/02/19(月) 03:55:19ID:???普通にそのページは違くね?
<?php
$allowFileList = array('ok.txt', 'ok2.txt', 'ok.swf');//許可するファイルのリスト。(ホワイトリスト)
$fileName = $_GET['fileName'] || array();
if (in_array($fileName, $allowFileList)) {//ここ。
//処理
} else { die('不正なファイル名です。';) }
?>
OKなファイル名に一致してるかチェック。
0623間違えた
2007/02/19(月) 03:56:27ID:???↓
$fileName = $_GET['fileName'] || '';
0624nobodyさん
2007/02/19(月) 04:12:48ID:???なるほど、確かにその方が安全な実装ですね。
「ホワイトリスト」も初めて聞いた。
色々勉強になりました!ありがとぉ!
0625nobodyさん
2007/02/19(月) 04:13:17ID:???0626nobodyさん
2007/02/19(月) 05:29:54ID:???$_GET["filename"]
このGETの値が自分のURLからきたかどうかチェックするにはどうしたらいい?
0628617
2007/02/19(月) 07:28:18ID:???0630虚弱PHP
2007/02/19(月) 10:08:08ID:???基本的にCSRF対策と同じになるから、
CSRFで検索してみるといいと思うよ。
セッション&ワンタイムトークン使えばいい。
0631nobodyさん
2007/02/19(月) 11:24:08ID:???小数点が発生する場合は、切り上げではなく切り捨てに
する場合、どういう設定にしたらいいのでしょうか?(6.6でも6にする)
0632nobodyさん
2007/02/19(月) 11:33:04ID:???0634588
2007/02/19(月) 12:17:06ID:???あ、すいません。
凡ミスでした。
ただ、やはりうまくいきません
preg_match('/(.*)_.*\.php/', $File, $match){
の行について↓のエラーがでてしまいます
Parse error: parse error, unexpected '{'
>>594
全てのechoが実行されてしまうのは>>588の書き方です。
紛らわしくて吸いません
0635nobodyさん
2007/02/19(月) 12:31:05ID:???0636nobodyさん
2007/02/19(月) 12:36:53ID:???そのエラーメッセージを穴の空くほど見つめてみろ。答えが書いてある。
親切なエラーメッセが出てるのに、なぜ自分でそれを見て考えずに質問丸投げするのだお前は。
>>635
アホ。配列だよ。
0638616
2007/02/19(月) 13:04:41ID:???〜リストは一般的だが、概念としてはリストに限らんだろ
ブラック:通してはいけないものをチェックしてクリーンにする
ホワイト:通してよいものをチェックしてクリーンにする
どっちがより安全かはわかるよな
0639nobodyさん
2007/02/19(月) 13:10:28ID:kbGuwf2q■1番目
if($a==1){
echo"正解";
}else{
echo"不正解";
exit;
}
■2番目
if($a!=1){
echo"不正解";
exit;
}
echo"不正解";
やってる内容は同じですが一番目と二番目の書き方でどちらが妥当でしょうか?
0640nobodyさん
2007/02/19(月) 13:15:56ID:???俺だったら
result = "不正解";
if($a==1){
result = "正解";
}
echo result;
だな。途中にどんな条件が加わってもOKだからメンテしやすい。
0641nobodyさん
2007/02/19(月) 13:26:50ID:kbGuwf2q0642nobodyさん
2007/02/19(月) 13:47:28ID:???$result = array("不正解","正解");
if( $a==1 ) {
$result[$a];//正解
} else {
die($result[$a]);//不正解
}
0643nobodyさん
2007/02/19(月) 14:01:42ID:???switch($a){
1:echo '正解';break;
default: echo '不正解';break;
}
exit;
0644nobodyさん
2007/02/19(月) 14:07:20ID:???echo $a==1 ? "正解":"不正解";
ってのもありじゃない?
0645nobodyさん
2007/02/19(月) 14:12:26ID:???メンバ変数の宣言(var $var;)を行わなくても
特に問題なくスクリプトは動作します。
宣言することにはどういった意味があるんでしょうか。
0647nobodyさん
2007/02/19(月) 14:15:46ID:???ドッカン
m ドッカン
=====) )) ☆
∧_∧ | | / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( )| |_____ ∧_∧ < おらっ!出てこい>>636!!
「 ⌒ ̄ | | || (´Д` ) \___________
| /  ̄ | |/ 「 \
| | | | || || /\\
| | | | | へ//| | | |
| | | ロ|ロ |/,へ \| | | |
| ∧ | | | |/ \ / ( )
| | | |〈 | | | |
/ / / / | / | 〈| | |
/ / / / | | || | |
/ / / / =-----=-------- | |
0648nobodyさん
2007/02/19(月) 14:17:08ID:???一人でも引き継いだりするときあるならちゃんとやっとくのがマナー
0649nobodyさん
2007/02/19(月) 14:29:12ID:???>>634の事例におけるpreg_matchの返値がboolだと言い張る超チンカスくんwww
最近こういう基地害が増えて困るね。
0651nobodyさん
2007/02/19(月) 14:41:53ID:???下スレだからまぁ許してあげなよ
まぁできればマニュアルと過去ログくらいは見てもらえたら嬉しいけどね
誰か下スレwikiとか作ってくれないかなw
0652nobodyさん
2007/02/19(月) 14:43:04ID:???0653nobodyさん
2007/02/19(月) 14:43:50ID:???0654nobodyさん
2007/02/19(月) 15:19:26ID:QDcNnbeDここを参考に apache 2.0.59, php4.4.4 をインストールしたんですが
phpinfo.php を表示しようとするとソースコードがブラウザにそのまま表示されます。
上のサイトに出ている事だけしかやってないわけですが、
どこら辺が問題かわかりますか?
OSはWindowsXP
0655nobodyさん
2007/02/19(月) 15:25:44ID:???ここを見てからきなさい
http://pc10.2ch.net/test/read.cgi/php/1167984858/
0656nobodyさん
2007/02/19(月) 15:25:44ID:???AddType application/x-httpd-php-source .phps
を追加してない。もしくは追加はしたがApacheの再起動をしてない。
0658nobodyさん
2007/02/19(月) 17:02:13ID:???0661nobodyさん
2007/02/19(月) 17:11:20ID:???0662nobodyさん
2007/02/19(月) 17:18:43ID:???というスレがsageられてるのにあがっているのは仕様ですが?
0665nobodyさん
2007/02/19(月) 17:36:43ID:???0670665
2007/02/19(月) 19:22:01ID:???0673nobodyさん
2007/02/19(月) 19:58:09ID:aXeEKgI5構築の仕方が載っている本かサイトを教えてください
0674nobodyさん
2007/02/19(月) 20:18:37ID:???0675nobodyさん
2007/02/19(月) 20:20:30ID:???バリュコマとかA8とか登録して設計パクったほうがはやそう。
0676nobodyさん
2007/02/19(月) 20:23:34ID:aXeEKgI5どっかにサイトがないでしょうか?
0677nobodyさん
2007/02/19(月) 20:34:35ID:???エラーが出るたびにexitして処理止めるとHTMLを最後まで読まないからいやなんだよな。
でも、
エラーがあるたびにexitすると処理が読みやすいんだよな
0678nobodyさん
2007/02/19(月) 20:57:40ID:???パクるかそれが難しければアフィリエイトの本(アフィで儲ける用の本でも)
買ってきて仕組みを理解して設計すればいい。
設計しちゃえばPHPで作ろうが何で作ろうが同じでしょ。
0679nobodyさん
2007/02/19(月) 21:00:53ID:???すでにあるアフィリサービスを自分で使ってみて、
それでもクローンを作れないレベルなら、どちらにしろ実力不足。
お前には100年早いから諦めろ。
で、そんなのが載った本があるわけないだろ。
お前みたいな他力本願のチンカスに、たかだが2000円かそこらの本でノウハウ教えるわけがない。
システム制作を請け負えばそれで100万円単位でお金もらえるんだから。
0680nobodyさん
2007/02/19(月) 21:01:25ID:???いきなりPHP言語勉強するとあれだよな
0681nobodyさん
2007/02/19(月) 21:06:56ID:???素人が、アフィのような金に関わるシステムを作るのは止めとけ。
業務システムを何件か構築した経験がないと辛いぞ。
それらしいものが出来ても、後々大変なトラブルになりかねない。
0683nobodyさん
2007/02/19(月) 21:10:11ID:???0684nobodyさん
2007/02/19(月) 21:28:37ID:???「出会い系サイト作って金と女でウハウハしようぜ」と言ってきた
今時出会い系サイトでそんな夢見れないことを言い出せなかったから承諾した
死にたい
0685nobodyさん
2007/02/19(月) 21:29:44ID:???0686676
2007/02/19(月) 21:39:44ID:aXeEKgI5アフィリエイト的な事は組み込むけど
>>681のような事態にならないために
システム自体はなるべく簡易化して
トラブルの発生率を下げようかと思います。
0687nobodyさん
2007/02/19(月) 21:47:12ID:???0688676
2007/02/19(月) 21:53:11ID:aXeEKgI5と言うのは冗談で、動作テストしてからやりますよ。
0689nobodyさん
2007/02/19(月) 21:59:31ID:???0690nobodyさん
2007/02/19(月) 21:59:59ID:???0691nobodyさん
2007/02/19(月) 22:04:02ID:ycTIkwVfトラブルってのはな、テストではわからなかった問題が発覚するからこそトラブルなんだよ。
0692588
2007/02/19(月) 22:05:45ID:???できました^^
穴があくほどみつめてもわからなかったけど、手当たり次第にやったらなんとか。
<?php
preg_match('/(.*)_.*\.php/', $File, $match);
switch ($match[1]){
case 'top':
echo 'トップ';
break;
case 'und':
echo 'アンダー';
break;
default:
echo 'その他';
}
?>
アドバイス頂いた皆さんThanks
0693nobodyさん
2007/02/19(月) 22:06:09ID:???お前のレベルがどの程度あるのか分からないから説明のしようがない。
今までの書き込みから推測するレベルだと。
無理だからやめとけ。
0695nobodyさん
2007/02/19(月) 23:18:22ID:kbGuwf2q0696nobodyさん
2007/02/19(月) 23:40:02ID:???デフォルトでアクセス禁止、リストに載ってるものだけ許可する。
対してブラックリストはアクセスを禁止するリスト。
デフォルトで誰でもアクセス許可、リストに載ってるものだけ禁止する。
0697nobodyさん
2007/02/19(月) 23:40:57ID:???Deny=ブラック
でおk?
0698nobodyさん
2007/02/19(月) 23:48:49ID:???思ってるんですけど
ttp://hiromasa.zone.ne.jp/documents/xampp_eclipse04.html
ここでひっかかります。
403になります
上のやり方で本当にできるんでしょうか?
0699nobodyさん
2007/02/19(月) 23:56:14ID:???ありがとうございました。
ソース元がわかりました。
日本のPHP本家のPDFを拝見しましたことを記しておきます。
0701nobodyさん
2007/02/20(火) 00:09:49ID:???* + 巛 ヽ
〒 ! +
+ 。 | |
* + / / +
∧_∧ / /
(´∀` / / +
,- f
/ ュヘ | *
〈_} ) |
/ ! +
./ ,ヘ |
ガタン ||| j / | | |||
―――――――――――――
それがWebProg板クォリティ―
0703nobodyさん
2007/02/20(火) 00:16:05ID:???バーチャルホストの設定でないの
>>689
ttp://www.atmarkit.co.jp/flinux/rensai/apache08/apache08a.html
0706nobodyさん
2007/02/20(火) 00:46:27ID:???> イィィヤッッッッホオォォォー
>
> * + 巛 ヽ
> 〒 ! +
> + 。 | |
> * + / / +
> ∧_∧ / /
> (´∀` / / +
> ,- f
> / ュヘ | *
> 〈_} ) |
> / ! +
> ./ ,ヘ |
> ガタン ||| j / | | |||
> ―――――――――――――
> それがWebProg板クォリティ―
すみません、チンチンが描かれていないのですが。
ディテールまでしっかりとお願いします。
0709nobodyさん
2007/02/20(火) 02:55:38ID:G1OnfDcXfgetsを使って一行一行読んで抽出する仕組みで、特定の文字列(この場合はend)が来たらその文字列は抽出せずに
処理を終了したいと考えています。
while (!feof($fp)) {
$line = fgets($fp);
$flag = 0;
if (preg_match("/^<h3>/",$line)){
echo $line;
while ($flag == 0) {
$line = fgets($fp);
echo $line;
if (preg_match("/^end/",$line))
{
$flag = 1;
break;
}
}
}
if ($flag == 1){
break;
}
}
これだとendと言う文字を含む行も抽出してしまいます。何かいい方法は無いでしょうか?
0710nobodyさん
2007/02/20(火) 03:01:49ID:???0712nobodyさん
2007/02/20(火) 03:17:09ID:???rtrimは文字列右側の空白しか取れないはずじゃ・・・。
行ごと消したいんですが、何か自分勘違いしてます?
0713nobodyさん
2007/02/20(火) 03:18:00ID:G1OnfDcX0714nobodyさん
2007/02/20(火) 03:29:52ID:G1OnfDcX出来ました。
お騒がせしてスイマセンでした。
0717nobodyさん
2007/02/20(火) 04:31:19ID:R5rvnRFt送りがなが間違っています。
「有難う」ではなく「有り難う」です。
よくある間違いですが、不愉快に思われる方も多いと思いますので、
訂正をお願いします。
0718nobodyさん
2007/02/20(火) 04:41:13ID:???あと、忠告有り難うございます。
0719nobodyさん
2007/02/20(火) 05:06:01ID:???0720nobodyさん
2007/02/20(火) 05:16:22ID:???>717は、どっちも正解のような気がする・・・。
0721nobodyさん
2007/02/20(火) 05:21:45ID:???0722nobodyさん
2007/02/20(火) 05:33:08ID:???0723nobodyさん
2007/02/20(火) 06:58:30ID:???0724nobodyさん
2007/02/20(火) 07:15:33ID:???0725nobodyさん
2007/02/20(火) 07:45:09ID:???http://life8.2ch.net/test/read.cgi/baby/1041904343/
141 名前:名無しの心子知らず[] 投稿日:03/03/10(月) 22:53 ID:DvGFLzmy
浮気でストレス発散・・・
192 名前:キツネ[] 投稿日:04/04/19(月) 20:50 ID:Yl8B2LzA
私も、部屋で、タバコプカプカ。子供、娘2歳の近くで。泣きやまない時は、ビンタ
。ストレスだらけ。1日、タバコ、2箱。
248 名前:名無しの心子知らず[] 投稿日:04/09/24(金) 03:04:39 ID:FYZZtlFm
たまりにたまった悪がきへの思い。ある時おもいっきり頭なぐってやった。もっと殴ってやりたい。
267 名前:名無しの心子知らず[sage] 投稿日:04/10/24(日) 01:04:10 ID:KwUUn3a/
発散法は赤子放置で2ちゃん。
282 名前:名無しの心子知らず[sage] 投稿日:05/02/05(土) 19:04:54 ID:4+gVqtlV
旦那のおでこをバシバシ叩く。とにかく叩く。
306 名前:名無しの心子知らず[sage] 投稿日:2005/03/23(水) 00:46:46 ID:Ab3/+gku
叱る声も何度か同じマンションの住人に虐待じゃないかと疑われるような叱り方
307 名前:名無しの心子知らず[] 投稿日:2005/04/02(土) 23:31:07 ID:WtKjdAOb
赤さんに苛々することはあまりないけど夫に苛々しっぱなしです。
そういう時は夫をこきつかって茶わん洗いやら買物やら散歩やら全てやってもらってます。
0726nobodyさん
2007/02/20(火) 09:58:32ID:???子供→子ども(当て字)
頭なぐってやった。もっと殴ってやりたい。→頭殴ってやった。もっと殴ってやりたい。(表記の揺れ)
茶わん洗いやら買物やら散歩やら→茶わん洗い、買物、又は散歩(助詞の連続)
もらってます。 →もらっています。(助詞不適切)
名無しの心子知らず→親の心子知らず(慣用表現の誤用)
たびたびですが、訂正をお願いします。
プログラミング言語をやられる前に、自然言語を勉強して下さい。
0727nobodyさん
2007/02/20(火) 10:51:40ID:???0728虚弱PHP
2007/02/20(火) 11:10:57ID:???結城浩氏のJava関連の本を読めばいいと思う。
Javaやるといいよ。
PHPでオブジェクト指向やると、
「オブジェクト指向いらねー」となる可能性大。
0729nobodyさん
2007/02/20(火) 11:30:27ID:lw8NzlOCどの様な利点があるのか説明して頂けないでしょうか?
ttp://php.justdn.org/manual/ja/language.references.return.php
上記ページを読み例もいくつか試してみましたがいまいち利点が分かりません。
宜しくお願いします。
0730nobodyさん
2007/02/20(火) 11:40:09ID:???そう!そうそうまさにそれよ
オブジェクト指向を利用しなくても十分良いものを作れるという勝手な想像をしていた。
でも何かしら理由があって解説してるんだろうから、見過ごせなかった。
参考にします。ありがとう。
0733nobodyさん
2007/02/20(火) 12:04:41ID:???0734nobodyさん
2007/02/20(火) 12:25:09ID:???0735虚弱PHP
2007/02/20(火) 12:51:58ID:???いや、そんなことは無いと思います。
自分もオブジェクト指向な感じで書いてるし。
ただ、PHPでオブジェクト指向の勉強をすると、
勉強してる途中で「役に立つのかなぁ?」という疑問を生じやすいと思う。
そういう疑問が勉強を妨げちゃったりする。
Javaで使われているようなオブジェクト指向は勉強には最適だと思う。
中にはPHPでは使わなくていいパターンもあると思う。
そこら辺は設計の技術を身に着けていく過程で取捨選択すればいいんじゃないかな。
偉そうなこと言ってるけど、自分も全然ダメだけどさw
0736nobodyさん
2007/02/20(火) 13:40:48ID:???小規模では逆に鬱陶しく感じるんだろうな
0737nobodyさん
2007/02/20(火) 14:15:35ID:/OHhVetq0738nobodyさん
2007/02/20(火) 14:22:40ID:???0739nobodyさん
2007/02/20(火) 14:26:36ID:???0740nobodyさん
2007/02/20(火) 14:32:08ID:/OHhVetq0742虚弱PHP
2007/02/20(火) 14:47:54ID:???見積もりは3倍以上になりそうw
小規模ならDBはSQLiteでいいんじゃあるまいか。
0743nobodyさん
2007/02/20(火) 14:52:05ID:???苦笑した
0744nobodyさん
2007/02/20(火) 14:55:28ID:???0745nobodyさん
2007/02/20(火) 14:58:18ID:???0746nobodyさん
2007/02/20(火) 14:59:19ID:???そのように感じるのはお前が最下層の雇われ人だから。
経営者の視点で実質的なことを考えると、SQLiteで十分な場合もあるし、
>>744の言うように、DBが不要な場合もある。
ただ、総合的なことを考えるとMySQLで作ったほうが結局ラクだけど。
どうせタダで使えるんだし。
0748nobodyさん
2007/02/20(火) 15:02:49ID:???SQLiteやDBを使わないことと経営者か社員かは関係ないし
それらにOK出してしまう経営者は現場の勉強不足だと思うね
0749虚弱PHP
2007/02/20(火) 15:11:43ID:???SQLiteはトランザクションサポートしてるし、
単純なクエリーならMySQLよりも速いし、
ライセンスは単純だし。
逆に具体的な問題指摘してもらった方がいいんじゃないかな?
俺はよくわかってないしw
PostgreSQLって選択肢もあるよね。
0750軟式PHP
2007/02/20(火) 15:13:42ID:???俺は基本的にPostgreSQLばっかりだなぁ。
アフィの場合はDBうんぬんより、他に気をつけなければならない点が色々あると思うんだが。
0751nobodyさん
2007/02/20(火) 15:17:18ID:???どちらにしろ情報が限られているからSQLに依存しなくても簡単に作れる。
あとは速度の問題だろ、そういう部分ではオンメモリで常駐するSQLの方に分がある。
075266
2007/02/20(火) 15:19:53ID:elhWeI/T0753nobodyさん
2007/02/20(火) 15:22:04ID:???0754nobodyさん
2007/02/20(火) 15:23:52ID:ZbvgNiBK$html_code=trim('<a href="http://www.2ch.net/" target="_blank">2ch</a>');
list($html_a01,$html_a02) = explode( '<a href="', $html_code);
list($html_a03,$html_a04) = explode( '" target="_blank">', $html_a02);
echo $html_a03; //URLが表示
サンプルで上記のようなコードを書いたのですが、あまり正しく無いような気がします。
もっと簡略化、もしくは最適化出来る方法・書き方はありませんでしょうか?
0757754
2007/02/20(火) 15:40:27ID:???ちょっと書き方が分からないのですが、、、
preg_match("/http://([0-9a-zA-Z])[\"]/",$html_code,$html_array);
ではないですよね?
0758nobodyさん
2007/02/20(火) 15:44:30ID:???0759nobodyさん
2007/02/20(火) 15:44:33ID:???> 商用の場合MySQLはタダじゃない
どこにそんなライセンスがある??
商用の場合だってタダのケースが多々あるぞ。
逆に言えば、どのケースの場合が有料なのかを示してほしいね。
そっちのほうが少ないから。
0760nobodyさん
2007/02/20(火) 15:44:54ID:/OHhVetqありがトン
セキュリティーはSSIで対応するとして、ワンクリックで課金というようなものでもないです。
ただ、内部のものが気軽にいじれるんでは困るので…
postgreSQL調べてみます。
0762nobodyさん
2007/02/20(火) 15:52:55ID:rS4uJTurif (条件) {
$str = "string";
return $str;
}
return true;
}
こんな感じで、条件によって返り値の型が違うのですが、
問題ないでしょうか?
0763nobodyさん
2007/02/20(火) 15:54:26ID:???はいはい、じゃああんた商用のプログラムのソースコードを公開しなさい
http://www.mysql-partners-jp.biz/license.html
0764nobodyさん
2007/02/20(火) 15:55:29ID:???動くか動かないかで言えば動く。
でも普通、返り値があるならそれを、そうでなければ false を返した方が
自然な流れじゃね?
修正したりするときも、そっちのがわかり易いと思う。
0765nobodyさん
2007/02/20(火) 15:57:26ID:rS4uJTurやっぱそうですよね。
他の書き方に変えたいと思います。
どうもありがとうございました。
0767nobodyさん
2007/02/20(火) 16:00:02ID:???0769nobodyさん
2007/02/20(火) 16:03:15ID:rS4uJTurfunction hoge() {
if (条件) {
$str = "string";
return $str;
}
return false;
}
これなら大丈夫でしょうか?
0771nobodyさん
2007/02/20(火) 16:10:11ID:rS4uJTurどうもありがとうございます。
これでまた少し賢くなりました。
早速続き書いてきます。
0772nobodyさん
2007/02/20(火) 16:54:56ID:wxBC7nWrこういう関数を作る時、false→エラーとなるような場合には
・関数内でエラー処理までさせる
・返り値で判別させる
と迷うのですが、普通はどちらにするものなのでしょうか。
今は関数の使いどころに応じて使い分けています。
0773nobodyさん
2007/02/20(火) 16:59:56ID:???普通かどうかはわからないが
if (!$str = hoge()) {
error();
}
とかやって、falseを返してエラー関数を呼び出すな
0774nobodyさん
2007/02/20(火) 17:33:09ID:???関数・クラス設計上ありえないエラーは、内部で
無理やりExitさせたりしてる。
入力によっては有り得るエラーはCall元で処理させてる。
0775nobodyさん
2007/02/20(火) 17:40:17ID:???関数内でエラーチェックさせてると、後で見たときにエラーチェックをしているかどうかを
関数の中を見ないといけないのが面倒だし、返り値でfalseを使う以上、
返り値を見るのがスジかなあと思っているので。
ただし、その関数があちこちで呼ばれているなどで、関数内で判断させた方がいい場合もあるし、
一概には言えない。
主な仕様を決めてしまって、それにのっとってやるのが良いと思う。
0776nobodyさん
2007/02/20(火) 17:54:07ID:???0777nobodyさん
2007/02/20(火) 17:56:03ID:???0778虚弱PHP
2007/02/20(火) 18:05:14ID:???throwも問題はあるから、あんまり使いまくるのは良く無さそう。
0779nobodyさん
2007/02/20(火) 18:21:32ID:???MySQLのダメダメなところは、そのライセンス体系の複雑さと曖昧さ。
「再頒布しないのならライセンス不要」と言ってる一方で、
「■MySQLを含んだソフトウェアを顧客に販売し、顧客が自身のマシンに当該ソフトウェアをインストールする場合」はライセンスが必要だとも言っている。
この両者は矛盾する。
なぜなら、「頒布」という言葉は多数に広く配布することだから。
ある特定の顧客一人(一社)に有償で譲渡することの何が「頒布」に当たるのか? MySQL ABはその辺がダメだ。
0780nobodyさん
2007/02/20(火) 18:24:18ID:???もちろんその解釈じゃ駄目なんだろうけど。
0781虚弱PHP
2007/02/20(火) 18:28:46ID:???ライセンス発行してる会社ですら曖昧な事しか言わなくなる。
心配ならライセンス買っとけって言われるんだよね。
というわけで、俺はMySQLライセンスをきちんと理解してませんw
0783nobodyさん
2007/02/20(火) 18:32:48ID:qg/4MsFw以下のクラスを$action->IP_Check($_SERVER['REMOTE_ADDR'])
で呼び出してみたところfgetsとfcloseで"supplied argument is not a valid stream resource"
とエラーログを吐かれました。これは「クラス内でファイルを読み書きするな」ってことですか?
というか、オブジェクト指向はこんな記法であってるでしょうか?
class IP_Check{
function IP_Check( $IP ){
$fp = fopen($IPchecklog, "r");
$compareIP = fgets($fp, 1024);
fclose($fp);
if($IP == $compareIP){ return false; }
else { return true; }
}
}
0784nobodyさん
2007/02/20(火) 18:34:17ID:???本当にファイルがopenできてる? 失敗しているんじゃない?
fopenしたあとの$fpの値を調べてみるよろし。おそらくfalseになってる。
0786nobodyさん
2007/02/20(火) 18:40:50ID:wxBC7nWrやはりそういうものですか。
参考になりました、ありがとうございます。
0787783
2007/02/20(火) 18:45:20ID:qg/4MsFw方々のご推察の通り$IPchecklogがクラスの外にあり、
ファイルオープンできてませんでした。
ありがとうございました。
コイツは前途多難だな .... orz
0788nobodyさん
2007/02/20(火) 18:48:46ID:???結果をチェックしないほうが事態が面倒くさくなることのほうが多いぞ
0789虚弱PHP
2007/02/20(火) 18:51:45ID:???throwはgoto文より強力な制御構造だから。
使い方に注意しないと、
本当にやるべきことをやってるのか後で確認するのが辛くなる。
小規模だったら問題ないと思うけど。
0790nobodyさん
2007/02/20(火) 18:53:49ID:???結果チェックより事前チェックだろw
できるだけ早い時期に障害を見つけるのが肝要だ。
fileの処理でいうなら、ファイルを開く前にファイルの存在チェックや
読み取り(書き取り)可能かをチェックすることだ。
0791nobodyさん
2007/02/20(火) 19:07:11ID:???オブジェクト指向ってのは書き方の概念というか
抽象的な物だからこれが正解ってのはないけど
そんな感じに一つのオブジェクトでの役割を簡潔にして
同じような処理は関数化しておいたりして
組み立てていく感じでいいと思うよ。や、俺もよくわかってないが…
0792nobodyさん
2007/02/20(火) 19:08:12ID:???本家本元のサイト見ても、曖昧な記述しか載ってないからねww
●●の場合はライセンス購入を「お勧めします」だもんw
「購入する必要があります」って断定じゃないからね。
0793nobodyさん
2007/02/20(火) 19:21:17ID:???再頒布若しくはMySQLを含んだソフトウェア販売の場合はライセンスを取得しなくてはならない
ってことでしょ?
何が難解なの?
0795nobodyさん
2007/02/20(火) 19:24:33ID:???アフィ厨が言ってるようなバックエンドでMySQLが動いてる
商用Webアプリは「再頒布」でも「ソフトウェア販売」でもないよな?
これはどっちだ?無償とも有償とも読み取れないぞ
0796nobodyさん
2007/02/20(火) 19:52:06ID:???0797nobodyさん
2007/02/20(火) 20:08:11ID:???>PHPとMYSQLの組み合わせがベストでしょうか?
という質問をなんでPHPのくだ質スレでするのか…?
0799nobodyさん
2007/02/20(火) 20:55:07ID:wdqQBZkRhttp://www.uploda.org/uporg700785.jpg
0803nobodyさん
2007/02/20(火) 21:31:34ID:???うーん、gotoはどんな処理をしているのかが非常にわかりにくくなる面があるけど、throwは処理を中断する方向にしかいかないし、そもそも「どこまで飛ぶか」を意識する必要もないんじゃないかな。
エラーとか入力チェックとか変数のnullチェックとかで、つじつまを合わせるのが難しいと感じたら、すぐthrowするくらいの勢いで問題ないと思うよ。
まあ確かに限度はあるだろうけど・・・。
0804nobodyさん
2007/02/20(火) 21:43:11ID:???気をつけなければならないのはcatchの方。
要らないやつまで細かくcatchすると、どこで捕捉されているのかわからなくなる。
0805nobodyさん
2007/02/20(火) 21:48:48ID:???throwってどうやって使えばいいの?
ifとかexitとかで代用できそうな気がしていまいちよく分からない
0806nobodyさん
2007/02/20(火) 21:57:06ID:???or die使いまくりなもんで。。
0807nobodyさん
2007/02/20(火) 22:03:52ID:???代用できなくはないけど、例外処理のほうがフレキシブル。
exitは一回呼び出したら全てが終了するけど、throwした例外はcatchさえすれば、回復して元の処理を継続することができる。
たくさんthrowしても、まとめて全部catchすることもできるし、catchブロックはエラー等の対処という明確な位置づけで考えることができるから、一度理解してしまえばすごくわかりやすいしね。
とにかく、エラー処理(=面倒くさい処理)を一箇所にまとめることで、コードがとても清潔で健康な状態に保たれる。
0809nobodyさん
2007/02/20(火) 22:35:07ID:???エラー処理
}
if (func2()==false) {
エラー処理
}
func3();
0810809
2007/02/20(火) 22:36:21ID:???func1();
func2();
func3();
}
catch {
エラー処理
}
0811809
2007/02/20(火) 22:37:57ID:???プログラム組んでると正常処理が異常処理に埋もれてしまう。>>809
try,catch使うと、これらを分離しやすい。>>810
のもtry,catchの利点かもな
0812nobodyさん
2007/02/20(火) 22:40:42ID:???0813809
2007/02/20(火) 22:41:18ID:???>>810 ではわからん。というのはデメリットだな。
>>789 がgotoより強力といってるのはこれのことかと。
0815nobodyさん
2007/02/20(火) 23:08:40ID:WMH2bERyif(preg_match('/^([0-9a-zA-Z]*)$/', $subject))
echo "マッチしました";
else
echo "マッチしませんでした";
$subject は、空文字列 ( "" ) なのでこの正規表現では
マッチしないはずなのですが、「マッチしました」が出力されます?
なんででしょうか……。
0816nobodyさん
2007/02/20(火) 23:13:46ID:???0817軟式PHP
2007/02/20(火) 23:14:04ID:???0818nobodyさん
2007/02/20(火) 23:15:13ID:???*は0以上マッチすることを表す。
つまり、空文字にもマッチする。
恐らく君が望む場合*を+(一回以上のマッチ)に変更しなければならない。
0820816
2007/02/20(火) 23:20:18ID:???あれ?ドットってなんだっけ?1文字だけだったよな
0821nobodyさん
2007/02/21(水) 01:28:57ID:???無 理 す ん な
0822nobodyさん
2007/02/21(水) 01:45:20ID:???0823nobodyさん
2007/02/21(水) 01:56:21ID:???0824nobodyさん
2007/02/21(水) 03:33:33ID:???$hoge = ほにゃらら
if($hoge != $_SERVER["SERVER_NAME"]) {
error();
}
とやりたいのですがほにゃららに当てはまる処理はどのように記述したら良いでしょうか?
0825nobodyさん
2007/02/21(水) 03:40:57ID:???まあ偽装できるけどね。
あと!=じゃなくてstrposとか部分一致で判断しないとダメ。
0826nobodyさん
2007/02/21(水) 03:46:22ID:???if( preg_match($AcceptHost, $SERVER['HTTP_REFERER']) ) {
error();
}
0827nobodyさん
2007/02/21(水) 03:47:19ID:???+ if( !preg_match($AcceptHost, $SERVER['HTTP_REFERER']) ) {
0828nobodyさん
2007/02/21(水) 03:49:38ID:???判定させる意味が分かんないけど>>825の言っている様に
どこから来たのかというのがリファラーで
それを吐かない場合にエラーを吐くのであれば''かnullか!で
0829nobodyさん
2007/02/21(水) 04:06:42ID:???ドメインがabc.comでリファラーがabcd.comだとエラーになりませんよね?
0830nobodyさん
2007/02/21(水) 04:09:42ID:???0831nobodyさん
2007/02/21(水) 05:20:09ID:???にすればいいじゃん
0832nobodyさん
2007/02/21(水) 05:22:40ID:???"えいちてぃーてぃーぴー://".$_SERVER["SERVER_NAME"]
にすればいいじゃん。
0833nobodyさん
2007/02/21(水) 05:42:48ID:???0834nobodyさん
2007/02/21(水) 05:59:03ID:???0835nobodyさん
2007/02/21(水) 06:00:08ID:SAIWRW73include $_POST....
?>
↑で色々なHP表示させたんですが、サイトによっては
文字化けしたり、しなかったりします。 何故なんでしょうか?
yahooはOKで、googleは化けたりします・・・うーん
0836nobodyさん
2007/02/21(水) 06:03:34ID:????
0838虚弱PHP
2007/02/21(水) 10:23:58ID:???まあ、そんなとこです。
>>810で言えば、func1()の中にも関数を呼び出しているところがあるだろうし、
その中で例外を投げるかもしれない。
PHPでは頻度は低いけど、事後処理が必要な場合もある。
んじゃ、事後処理をどこでやるか?
そこら辺を考え出すと例外を投げるにしても、
従来の>>809のようなtry〜catchやらないと、
ちゃんと事後処理をやっているのか、やっていないのか、
後から見た人にはわからないんだよね。
バグが潜伏しちゃうことも起きやすい。
それから、モジュール間の結合も強くなる。
↑こういうのは、設計である程度は避けれると思うけど…。
まあ、自分より遥かに偉いwプログラマーであるレイモンド・チェンとかも
例外は堅牢なプログラムには向かないって感じのこと言ってるから、
偉い人に右倣えなところもあるw
0839nobodyさん
2007/02/21(水) 11:50:12ID:???話が明後日の方向へ行ってるが。
$url = parse_url($_SERVER['HTTP_REFERER']);
if ($url['host'] != $_SERVER['SERVER_NAME']) {
error();
}
あとは好きにアレンジすればいい。
0840nobodyさん
2007/02/21(水) 12:08:20ID:dxH/dP0k$ary = explode('/', $_SERVER['SCRIPT_NAME']);
echo $ary[-3];
のように変数に代入せず、
echo (explode('/', $_SERVER['SCRIPT_NAME']))[-3]; //これはエラーになるけど
このような感じで一行でできないでしょうか?
0841840
2007/02/21(水) 12:14:17ID:???そこはみなかったことにしてください
0842840
2007/02/21(水) 12:15:31ID:???5行目は
echo (explode('/', $_SERVER['SCRIPT_NAME'])[-3]); //これはエラーになるけど
と言いたかったんです
スレ汚しすいません
0843nobodyさん
2007/02/21(水) 12:43:14ID:nuUqtd8Pどこかに図解で説明してあるウェブサイトはありますでしょうか?
0844nobodyさん
2007/02/21(水) 13:15:15ID:???ttp://www.kab-studio.biz/Programing/Codian/Pointer/05.html
0848nobodyさん
2007/02/21(水) 13:32:19ID:gybahh3H(float)microtime()で大丈夫でしょうか?
microtime(true)はPHP5からですもんね・・・
0849843
2007/02/21(水) 13:37:16ID:???0851nobodyさん
2007/02/21(水) 13:42:48ID:???PHPでは基本的に無理。
かろうじて無名関数っぽいのが書けるぐらい。
>>848
http://jp.php.net/manual/ja/function.microtime.php
ズバリそのまま書いてあんじゃん。
0852nobodyさん
2007/02/21(水) 13:55:49ID:gybahh3H0853nobodyさん
2007/02/21(水) 14:02:33ID:???0855nobodyさん
2007/02/21(水) 18:43:43ID:UzIeN8wCはじめての試みなので、わからないことだらけで困惑しています。
とりあえず基礎的な質問かもしれませんが、
最初の1回のみ行う、テーブル生成などのスクリプトは独立させるべきですか?
それとも毎回、テーブルがあるかチェックしてなかったら生成などの処理をするべきでしょうか?
0856nobodyさん
2007/02/21(水) 18:56:12ID:3GZpY9r/以下のコードを試しましたがダメでした。
class test{
public static function testMethod(){
}
}
$method="testMethod";
test::$method();//true
$class="test";
$class::testMethod();//false
0857nobodyさん
2007/02/21(水) 19:02:16ID:???テーブルの有無のチェックなんぞ要らん
最初にちゃんとテーブル作ってある前提でコーディングすればよし
そんな心配をするよりも、キッチリとテーブル定義をまとめたものを作成しておけばいい
それと、PHPが関係しないDBだけのネタだったらDB板があるのでそっちでどうぞ
http://pc10.2ch.net/db/
0858nobodyさん
2007/02/21(水) 19:10:05ID:???それは、つくりによるだろうな。
例えば、ユーザーがアクセスするたびに、ユーザー毎にユーザー名で
テーブルを作成する場合はCREATE&DROP処理が必要になるし、
そのチェックも必要になる。
昔、そんな面倒な実装を業務でやった記憶も・・・
0859nobodyさん
2007/02/21(水) 19:11:17ID:???その場合はcall_user_funcするしかないんじゃないかな
$class = 'test';
$method = 'testMethod';
call_user_func(array($class, $method));
0863nobodyさん
2007/02/21(水) 19:58:09ID:tXMCaPjX日本語が不適切です。
「ちょっと」と「ひどい」「すぎる」との言葉の係り受けが意味的に矛盾しています。
「それは、酷過ぎる。」又は「それは、ちょっと悪い。」のどちらかに修正するのが良いでしょう。
0864軟式PHP
2007/02/21(水) 20:13:35ID:???今、他人が作ったプログラムの保守してたんだが、こんなのがあった。
チェックボックスにチェックが入ったデータを削除する処理らしい。
#削除処理
for($i=0;$i<10000;$i++)
{
$sWork = $qvPARAM{'qvDEL'.$i};
・・・
頑張るよ俺。
0865nobodyさん
2007/02/21(水) 20:14:15ID:C4RH95/q$id_set="1,"; //検索したいID名
$sql = "select * from box where id_name like '%$id_set%' ";
$rst = mysql_query($sql,$con);
while($row = mysql_fetch_array($rst)){
echo "登録IDは".$col["id_name"]."<br />";
}
boxテーブルのid_nameに登録しているレコードが
(a)"1,11"と(b)"1,"と2つあるとします。
上記の$id_setに1を指定するとaとbの両方のレコードが表示されます。
$id_setにカンマを付けて1,としても両方のレコードが表示されます。
しかし、目的としてはあくまで「1」の値だけを持つレコードを表示させたいので
(b)が表示されなければいけないのですが、うまく行きません。
DB的な事が絡みますが、アドバイスいただけないでしょうか?
0866865修正
2007/02/21(水) 20:15:35ID:???の箇所の$colは$rowの間違いです。。
0867nobodyさん
2007/02/21(水) 20:22:45ID:tXMCaPjXそんなに1だけを表示させたければ、カンマを捨てて正規化だけを考えよ。
そうすれば、バグの姿もはっきりとその目に映ろうぞ。
バグの姿が存分に見えたとき、又、このスレに現れよ。
0868865
2007/02/21(水) 20:28:58ID:???そうなんです。カンマじゃ数字が被ってしまって、無理だと思って・・。
とはいえ、スペースを空けるのも変だし、別の文字にするのも使いにくいしで・・。
「正規化」ってなんなんでしょうか?正規表現とは違いますよね?
0869nobodyさん
2007/02/21(水) 20:38:51ID:tXMCaPjX何を言うとるんじゃ。正規化じゃ。
そんなに正規化が嫌なら、データの入れ方を工夫せい。
1,2,3→<data>1</data><data>2</data><data>3</data>
これで、<data>1</data>で検索じゃ。
0870nobodyさん
2007/02/21(水) 20:42:54ID:???パフォーマンス考えたら別によくあることだが。
正規化厨は大規模サイトでも
1コのテーブルに1億も10億もレコードつっこむの?
0871865
2007/02/21(水) 20:55:20ID:???正規化の件、ググって調べました。言葉を知らずに使ってましたw
ただ、正規化のようにテーブルを分けるとテーブルが増えすぎてしまうので
865のように1つのフィールドで処理出来ないものかと思ってました。
データの入れ方をもう少し工夫してみます。アドバイスありがとうございました。
0872軟式PHP
2007/02/21(水) 21:06:34ID:???0874nobodyさん
2007/02/21(水) 21:21:52ID:???自動発行するようなもので人間が裏に張り付いてテーブル作るなんて考えられんしw。
>>864
俺は猛烈に感動した;;
0875nobodyさん
2007/02/21(水) 21:28:09ID:???デフォルトであれば、セッションを作るときにサーバー側でファイルを作成する。
このセッション用のファイルを作る変わりにテーブルを作ることも不自然ではない。
テーブルも実体はファイルであることを考えれば、
ファイルを作ろうが、テーブルを作ろうが、それは朝三暮四というもの。
結局は、自分が慣れていないやり方に違和感を感じているだけに過ぎない。
0876nobodyさん
2007/02/21(水) 21:31:02ID:???$var = str_replace( '\\\\', '\\', $var )
であってますでしょうか?
エスケープが重なって小さい脳みそがパンクします。
0877nobodyさん
2007/02/21(水) 21:40:20ID:???て
ま
い
り
ま
し
た
0878nobodyさん
2007/02/21(水) 22:25:47ID:???セッション変数のflgという変数にtrueをセットした後、
header("Location: ./hogehoge.php");
foobar(); // なんかてきとーな処理。
というコードを書いた場合、たまにですが、flgの値が""になることがあります。
どういった原因が考えられるでしょうか?
foobarではセッション変数関係はいじっていません。
p.s.
locationヘッダに書き込んだ後、foobar()を実行しても意味ないと思うので
コード自体は変更はしておいたのですが、原因が気になるので
質問させていただきました。
0879nobodyさん
2007/02/21(水) 22:27:29ID:???すいません。環境を書き忘れていました。
FreeBSD上のphp 4.4.4です。
0881nobodyさん
2007/02/21(水) 22:55:18ID:???正規化すれば確かにテーブルは増えるだろうけど、
増えすぎるって、なんか勘違いしてる可能性があるな。
もうちょっとちゃんと理解するか、
もっと具体的な例をあげるかすればいいと思う。
>>858=>>870=>>875
セッションデータ格納のためってことなら、
レコード追加するならわかるが、
テーブル追加はないない。
0882nobodyさん
2007/02/21(水) 22:58:27ID:???くっつけるのがなんか嫌
ってのは俺だけ?
0883nobodyさん
2007/02/21(水) 23:00:03ID:???0884nobodyさん
2007/02/21(水) 23:01:59ID:???別に誰も強制せんよ
0885nobodyさん
2007/02/21(水) 23:07:35ID:???0886nobodyさん
2007/02/21(水) 23:10:34ID:???0887nobodyさん
2007/02/21(水) 23:10:56ID:???テーブル追加がないってことは
銀行の通帳明細だろうが電話の通話記録だろうが
全ユーザーのデータを1つのテーブルにいれるんだね。へぇ〜
0888nobodyさん
2007/02/21(水) 23:15:04ID:???0889nobodyさん
2007/02/21(水) 23:19:33ID:Sgt8YP2Kで、2,3,4を選んだとしたら フォームから送られるpostで
皆チェックボックスの値をどういう形でDBへ保存してる?
0890nobodyさん
2007/02/21(水) 23:21:49ID:???大人気スレッド★206が大人気★
各板から2ちゃんねらが大集結して、現在炎上中
206 名前:可愛い奥様[] 投稿日:2007/02/20(火) 15:59:04 ID:bbuJrbBF0
子供2人とも旦那の子じゃない
どっちも父親は元彼
結婚後もずっと続いてて、旦那の出張中に彼と4人で家族ごっこしてた
そのうち元彼をパパと呼ばせようと思ってます
私にとってはこっちが理想の家族だし
旦那には悪いけど、もうATMとしか思えない
いっそ浮気してくれたら慰謝料たっぷりもらって離婚出来るのに
私にベッタリだから余計腹が立つ
0891nobodyさん
2007/02/21(水) 23:22:48ID:???あれば教えてえらいひと。
0892nobodyさん
2007/02/21(水) 23:26:01ID:???どんなDB設計を想定してんのかわからんけど、
テーブル分割はスケーラビリティの話。
スケーラビリティの話でも>>875のように
1ユーザー毎(またはセッション毎)に
テーブルを作るのはまともじゃない。
0897nobodyさん
2007/02/21(水) 23:48:12ID:???思い出した
ファイルの各行を固定長(同じ長さ)になるようにして、
fseekで任意の行の先頭までファイルポインタを移動して行分のバイト数だけ読む
関数はないんじゃないかなたぶん
0901nobodyさん
2007/02/21(水) 23:56:16ID:???| 次でボケて!!! |
|________|
∧∧ ||
( ゚д゚)||
/ づΦ
0903nobodyさん
2007/02/21(水) 23:59:53ID:???0904nobodyさん
2007/02/21(水) 23:59:58ID:???0905nobodyさん
2007/02/22(木) 00:05:16ID:???俺も設計は美しいほうがメンテもしやすいし好きだが、
多少美しさを捨ててでも速度を取らないといけない場合も
実務にはあるよ。INDEXだけでは追いつかない。
0907nobodyさん
2007/02/22(木) 00:10:17ID:???ナルホ。
実は4000万件を超えるLOG系のTABLEがあるんだが、
検索すると数秒かかるぅ・・・
こんな場合ってどう分けるべき?!
参照も更新もある。
時間によって
LOG_2007_01
とかで分けた方がいい?
0908nobodyさん
2007/02/22(木) 00:25:24ID:???0909nobodyさん
2007/02/22(木) 00:39:23ID:???ここはDB板じゃないんだから議論しないでくれ。
こういうソースもあるし、アホな設計してるやつはいつまででもそういう設計をして苦労してればいいじゃん。
ttp://itpro.nikkeibp.co.jp/article/NEWS/20051114/224500/
0910nobodyさん
2007/02/22(木) 02:26:59ID:???0911nobodyさん
2007/02/22(木) 02:29:57ID:???0912nobodyさん
2007/02/22(木) 03:02:49ID:???普通に↓でいいんじゃないか?
[id] [animal]
1 2,3,4 (もしくは、「うま,ぶた,さる」)
なぜなら、「動物」ってカテゴリで複数選択した場合なんだろ?
テーブルに分けるってのは、「動物」「スポーツ」「趣味」とか
カテゴリが別の場合何じゃないのか?
0913nobodyさん
2007/02/22(木) 03:13:45ID:???0916nobodyさん
2007/02/22(木) 04:40:44ID:3iT4OUlDwindows環境のapacheのhttpd.confでは、
LoadModule php4_module c:/php-4.4.4-Win32/sapi/php4apache2.dll
の記述を追加したのですが、
Cent-OS環境のapacheは、LoadModuleを追加しなくてもPHPが実行できてます。
何故でしょうか?
0918nobodyさん
2007/02/22(木) 10:00:35ID:???md5を使おうと思っているんでが何か問題ありますか?
0919nobodyさん
2007/02/22(木) 10:03:12ID:???0922nobodyさん
2007/02/22(木) 11:00:00ID:???これのことですか?
http://blog.ohgaki.net/index.php/yohgaki/2007/01/25/sha1a_sa_a_a_ma_ya_a_a_a_a_sa_ma_fa_a_ma
これは標準で入ってる関数じゃないですよね
自作しろってことですか?
0923922
2007/02/22(木) 11:01:23ID:???すいませんじこかいけつしました .
0924nobodyさん
2007/02/22(木) 11:02:42ID:???生パスを保存するやつもいるぐらいだしデータ漏洩に気をつければいいだけ
0925922
2007/02/22(木) 11:12:42ID:???$pwd = "zutto";
$add = "orenota-n";
$hash = hash('sha512', $pwd.$add);
0926nobodyさん
2007/02/22(木) 11:28:54ID:3iT4OUlDレスありがとうございます。
でも、CGIで実行するにしてもhttpd.confにphpの設定しなきゃいけないですよね?
ディストリの標準インストールだと、phpも実行できるように設定されちゃってる、なんてことはないですよね?
0927nobodyさん
2007/02/22(木) 11:32:57ID:???$pwdにmd5したパスワードいれて、
if ($pwd == md5($_POST['pwd']) {
echo 'match';
}
0928nobodyさん
2007/02/22(木) 11:33:00ID:3iT4OUlDLoadModule cgi_module modules/mod_cgi.so
これってPHPの実行も含みますか?
0929nobodyさん
2007/02/22(木) 11:34:41ID:3iT4OUlDconf.dにphp.confがありまして、下記記述を発見しました。
大変お騒がせしました。m( _ _ )m
LoadModule php4_module modules/libphp4.so
0930虚弱PHP
2007/02/22(木) 11:50:56ID:???実際のところそれで問題ないと思うけど、
$addはランダム値を使うとより良いらしい。
固定値だと同じパスワードの人が同じハッシュ値を持つから。
もちろん、ハッシュ値と一緒に保存する必要あり。
当たり前だけど、SHA512って実際表示してみると長いよなぁw
0931nobodyさん
2007/02/22(木) 12:03:59ID:???if ( ereg("^[0-9]{8}",$day) )
if ( is_numeric($day) && count($day)==8 )
0932nobodyさん
2007/02/22(木) 12:12:16ID:???好み以前にちゃんとコーディングしろ。
0934nobodyさん
2007/02/22(木) 12:22:31ID:???・perlパスの変更
clap.cgiとkaiseki.cgiをテキストエディタで開き、1行目の
#!/usr/bin/perl
を、このcgiを設置するサーバーに合わせたパスに変更してください。
がわからない。。。どうかけばいいの?
0936nobodyさん
2007/02/22(木) 12:31:11ID:???0939nobodyさん
2007/02/22(木) 12:45:15ID:???的確な回答ありがとうございます。
レッツPHPのスクリプトを見て色々と関数の勉強してたのですが
is_numericは0-9以外も通ってしまうなんて初めて知りました。
ctype_digitは実験的なモジュールとなってますが、is_intで代替できますでしょうか?
(引数には日付が入る場合)
0941nobodyさん
2007/02/22(木) 12:49:35ID:???is_numericもこの場合不適切
countに至っては使い方間違ってる
0点
0942nobodyさん
2007/02/22(木) 12:51:37ID:???0943nobodyさん
2007/02/22(木) 12:55:54ID:???http://jp.php.net/manual/ja/ref.ctype.php
0944nobodyさん
2007/02/22(木) 13:07:15ID:???"^[0-9]{8}" はレッツPHP記載のもので正規表現使わない方法に変更しようと思いました。
これならOKかな?
is_int($day) && strlen($day)==8
0945nobodyさん
2007/02/22(木) 13:11:51ID:???0948nobodyさん
2007/02/22(木) 13:26:09ID:???フォームから受け取った文字列ならis_intだとだめ
$day += 0とかすれば整数にキャストできるが
整数だとしても負の数の場合は不都合が出る
30点
0949nobodyさん
2007/02/22(木) 13:29:12ID:???↑をすると存在しない日を指定しても自動的に日付計算してくれるみたいですね。
ということはcheckdateの処理は入れる必要ないのかな
>>948
GETクエリも文字列扱いですよね?型キャストが必要になりますか。
でも予想される値は"日付"で、負の場合はないのでもうちょい点数下さいよ
0952nobodyさん
2007/02/22(木) 14:03:02ID:???0953nobodyさん
2007/02/22(木) 14:04:31ID:???少なからず日付と決まっているのなら予防線を張っとくにこした事は無いね
0954nobodyさん
2007/02/22(木) 14:38:21ID:???すいませんGoogleキャッシュを見てました。
マニュアル見る限り、これからも標準でサポートされるみたいですので以下にします。
if ( ctype_digit($_GET['day']) && strlen($_GET['day'])==8 )
>>950
今回のケースではその必要はないですが、もし誕生日など扱うことがあれば以下にします。
if (!checkdate($_POST['birth_m'], $_POST['birth_d'], $_POST['birth_y'])) { error(); }
0955nobodyさん
2007/02/22(木) 15:49:05ID:1/CuYTLm["aaa1"]=> array(8) { [1]=> string(1) "1" [2]=> string(1) "1" [3]=> string(1) "1" [4]=> string(1) "1" }
["aaa2"]=> array(4) { [2]=> string(1) "1" [5]=> string(1) "1" [6]=> string(1) "1" [7]=> string(1) "1" }
["bbb2"]=> array(4) { [2]=> string(1) "1" [2]=> string(1) "1" [8]=> string(1) "1" [9]=> string(1) "1" }
["bbb2"]=> array(4) { [1]=> string(1) "1" [4]=> string(1) "1" [6]=> string(1) "1" [9]=> string(1) "1" }
)
こんな感じの配列で
aaaがつくKEYの配列を取り出すのはどうすればよいでしょうか。
0956nobodyさん
2007/02/22(木) 16:00:55ID:???foreach ($array as $key => $value) {
if( strpos($key, 'aaa') ) { $array_aaa[] = $value; }
}
0957955
2007/02/22(木) 16:13:37ID:1/CuYTLmこれでいけました!ありがとう
0959958
2007/02/22(木) 16:23:55ID:???strpos($key, 'aaa') === 0
か
0960nobodyさん
2007/02/22(木) 16:37:36ID:???0961軟式PHP
2007/02/22(木) 16:48:51ID:???0962nobodyさん
2007/02/22(木) 16:56:43ID:???0963nobodyさん
2007/02/22(木) 17:12:09ID:???どう考えてもデザイン(テンプレート)と分離出来ない箇所ってあるよな?
例えば、テーブルの表を書き出す時とか、項目名がそれぞれのコンテンツで違うし、
if文で入力チェックや値があるかないかを判断する場合も
やっぱりテンプレート内に入れないと行けない。
結局、こだわらなくておkってことでいいの?
0964nobodyさん
2007/02/22(木) 17:26:05ID:???0965虚弱PHP
2007/02/22(木) 17:38:44ID:???Smarty使ってるけど、
テンプレートファイル以外にHTML書いてないよ。
テンプレートの方にSmarty組み込み関数は沢山書いてあるけど。
0966954=956
2007/02/22(木) 17:42:21ID:???0969nobodyさん
2007/02/22(木) 18:20:42ID:???MySQLとか使うときさ、
$sql ="select * from hoge";
$res=mysql_query($)
while($row=mysql_fetch_array($res)){
echo "<td>".$row["name"].</td>
}
みたいにしてテーブルの中身書くじゃん?でも、
echoの中ってコンテンツ毎に違うんだから、プログラムとデザインと分離
出来ないよね?「テンプレートファイル以外にHTML書いてない」ってことだけど。
0970nobodyさん
2007/02/22(木) 18:25:29ID:???0971nobodyさん
2007/02/22(木) 18:33:39ID:???だよな?じゃ、テンプレートの中にPHPのソースが入っても問題ない、
ってかそれが普通だよな。
なんか「テンプレート=HTMLのみ」だと勘違いしてたぜw
0972虚弱PHP
2007/02/22(木) 18:34:44ID:???見た目に関するロジックは全部Smarty側でやってる。
(htmlspecialcharsみたいなエスケープとかは除く)
もちろん{php}とかは使ってないけど。
PHPロジック側は連想配列にデータ作るだけになるように。
↑
本当にこのやり方がいいのかは、わからんw
0973nobodyさん
2007/02/22(木) 18:38:35ID:???テンプレートに「デザインするために必要な」phpのコードが入るのは必然。
しかし、逆はおかしい。
デザインと分離する以上、デザインするためのHTMLコードをSmary側に
入れてはいけない。Smaty側では表示するためのデータを操作するのみ。
0974nobodyさん
2007/02/22(木) 18:46:08ID:???そっか、なるほどね。
じゃ例えば、3.14を3.1のようにファーマットするのはどっち側でやればいいのでしょうか?!
0975nobodyさん
2007/02/22(木) 18:49:59ID:???それは、Smaty側でやるべきこと。
数値データを四捨五入するか、切捨てにするか、など
それは、データをどう加工するかの問題であって、
デザインの問題ではない。
それが、例えば3以上なら赤色に着色するというなら、
それはデザインの問題であるから、
テンプレートでif文で当該数値を判定して、
適切なデザインタグ(HTMLorCSS)を付加すればよい。
0976nobodyさん
2007/02/22(木) 18:55:00ID:OE6fjMgO>Webアプリケーションの送受信データ内容のチェックやデータ送信先の確認、
>セッション管理機能のテストなどにおいては、
>HTTPのヘッダ情報やPOSTされるデータ内容を確認する必要に迫られる。
と書いてあるサイトがあったのですが、
今まで特に意識していなくて、使えるから別にいいやみたいな
感じだったのですが、急に本当に正常に動作しているのか不安になってきました。
PHP自体の質問ではないのですが、
やはりWebアプリ作るなら必須の知識でしょうか?
0977nobodyさん
2007/02/22(木) 18:58:00ID:???優先度は「なくても作れるけど理解しておいた方がいい」程度かな。
知っていればデバッグの手掛かりになったりするし、
そんなに難しいことでもないしトピックも多くはないから、
から勉強するとかいう以前に理解しちゃうと思う。
0979虚弱PHP
2007/02/22(木) 19:00:32ID:???ロジック側=PHPロジック側。OK?
>>976
色々やろうと思うと何かと必要になると思うよ。
0980nobodyさん
2007/02/22(木) 19:04:16ID:???必須じゃないけど覚えておいて損はないと思うよ
0981nobodyさん
2007/02/22(木) 19:10:43ID:???これって凄いんだな。だいぶソースが短縮される。
smatryってpearみたいな感覚があって、なんか嫌だったんだけど、
ちょっと使ってみたくなった。
0982nobodyさん
2007/02/22(木) 19:41:47ID:???これもっと短くなんないっすか?
if ($foo == ('foo' || 'bar' || 'baz)) みたいな感じに
0983nobodyさん
2007/02/22(木) 19:48:44ID:???早めに立てておこうと思ったんだがホスト規制orz
というわけで誰か立てておいてくれ
0984976
2007/02/22(木) 19:54:57ID:OE6fjMgOつくりながら覚えるのが効果的そうなので、
もっと経験を重ねたいと思います。
0985nobodyさん
2007/02/22(木) 20:31:49ID:y5iMXiAbPHP 5.14
を使っています。
PHPからMySQLに保管した文字がphpMyAdminで文字化けしてしまいます。
全てUTF-8で統一しているのですが、なぜこのような現象が起きるのでしょうか?
0986985
2007/02/22(木) 20:33:32ID:y5iMXiAb0987nobodyさん
2007/02/22(木) 20:39:42ID:???0988nobodyさん
2007/02/22(木) 20:40:29ID:???0989nobodyさん
2007/02/22(木) 20:43:03ID:y5iMXiAb$cfg['DefaultConnectionCollation'] = 'utf8_unicode_ci';
$cfg['FilterLanguages'] = '';
$cfg['DefaultCharset'] = 'iso-8859-1';
となっております。
UTF-8にはなっています。
別の質問になりそうですが、
"INSERT INTO 'test' VALUES comment='テスト'"
を実行すると
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''test' VALUES comment='テスト'' at line 1
とエラーが返ってきます・・・
0990nobodyさん
2007/02/22(木) 20:47:10ID:y5iMXiAb0993nobodyさん
2007/02/22(木) 20:51:47ID:y5iMXiAbmbstring.internal_encoding:UTF-8
となっています
0994nobodyさん
2007/02/22(木) 20:59:59ID:???> $cfg['DefaultLang'] = 'en-iso-8859-1';
> $cfg['DefaultConnectionCollation'] = 'utf8_unicode_ci';
> $cfg['FilterLanguages'] = '';
> $cfg['DefaultCharset'] = 'iso-8859-1';
> となっております。
> UTF-8にはなっています。
ちょーwww
UTF-8になってないじゃん
0995nobodyさん
2007/02/22(木) 21:01:56ID:y5iMXiAbすんません、kwskおながいします。
'utf8_unicode_ci'→'utf8'でいいのですか?
0997nobodyさん
2007/02/22(木) 21:10:50ID:y5iMXiAb有難う御座います。
$cfg['DefaultCharset'] = 'utf-8'';
と変更をしたのですが、同じく文字化けしたままです。
他に変更するような場所はあるのでしょうか?
0998nobodyさん
2007/02/22(木) 21:13:00ID:???| 次でボケて!!! |
|________|
∧∧ ||
( ゚д゚)||
/ づΦ
0999nobodyさん
2007/02/22(木) 21:17:51ID:???skip-character-set-client-handshake
1000nobodyさん
2007/02/22(木) 21:18:52ID:y5iMXiAb次スレあるの?
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。