【PHP】下らねぇ質問はここに書き込みやがれpart12
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/11/01(火) 17:56:36ID:???ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい
・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
【PHP】下らねぇ質問はここに書き込みやがれpart10
http://pc8.2ch.net/test/read.cgi/php/1127581425/
【PHP】下らねぇ質問はここに書き込みやがれpart11
http://pc8.2ch.net/test/read.cgi/php/1129582431/
0079nobodyさん
2005/11/03(木) 21:47:34ID:e6YB+Wfp0080nobodyさん
2005/11/03(木) 21:50:28ID:???それともみんなは関数内でglobal命令で参照してるの?
0081nobodyさん
2005/11/03(木) 21:51:34ID:???0082nobodyさん
2005/11/03(木) 21:53:06ID:???んなばかな
どんなにローカル変数で頑張ってもグローバル変数使うでしょ
それともぜーんぶクラス化してプロパティで参照してんの?
0083nobodyさん
2005/11/03(木) 21:59:05ID:???ここは更新ボタン押しても二重投稿とかないけどこんな風にできない?
0084nobodyさん
2005/11/03(木) 22:01:38ID:???書き込んだ後で自分自身にリダイレクトしろ
function redirect($url){
header("Location: $url");
exit;
}
0085nobodyさん
2005/11/03(木) 22:03:52ID:???うん。
0087nobodyさん
2005/11/03(木) 22:31:19ID:???$guro = 1;
function hoge(){
$out = $GLOBALS['guro'] + 1;
return $out;
}
echo hoge();//実行結果:2
こんなふうにやるときの$GLOBALSって意味ですよね?
中身丸見えのオープンソースのものなら、書き換えて攻撃とかやる気にもなるけど、漏れなんかの書いた変態スパゲッティソースを外部から変数名を推測して攻撃するなんてほとんど不可能だと思うんだけど、どうでしょう?
register_globals = Offだけど、
extract($_GET);なんてやっちゃててるスクリプト山ほど書いて来たけど、一度もつつかれた事無いyp!
しょぼい仕事しかしてないからですか。そうですか。吊ってきます。
0088nobodyさん
2005/11/03(木) 22:32:25ID:???0089nobodyさん
2005/11/03(木) 22:58:23ID:???僕のサイト(素人サイト)は
register_globals=ONでしかうごかないページがあります。
まぁやばくなったら、$GET_['hoge']で変数を受け取れば
いいやって考えてました。
で、今回のセキュリティホール問題をみてて ON じゃやべー
って思って、httpで変数を渡す処理の部分は全部
$_GET['hoge']にしてOFFにしたんですが、うごかないです。
レンタル鯖屋が4.4.1にUPしたらしいのが原因?前は動いたのですが・・。
ちなみにプログラムはこれです。何かの本のサンプルをみて書きました。
クリック数カウントするためです。
http://www.hoge.com/count.php?no=1&url=http〜〜
<?php
$_GET['url'];
$_GET['no'];
MYSQLへのカウント処理
//指定されたURLへリダイレクト
header("Location: " . $url);
?>
デバック方法でも何でもよいのでアドバイス下さい。。
0090nobodyさん
2005/11/03(木) 23:01:41ID:???0091nobodyさん
2005/11/03(木) 23:07:45ID:???<?php
$url = $_GET['url'];
$no = $_GET['no'];
//省略
?>
ではないのか?
>デバック方法でも何でもよいのでアドバイス下さい。。
echo $url; //debug
//header("Location: " . $url);
0092nobodyさん
2005/11/03(木) 23:08:26ID:???0094nobodyさん
2005/11/03(木) 23:18:43ID:???function redirect($url){
header("Location: $url");
exit;
}
を書くことによって更新ボタン押しても二重投稿できなくなるの?
009589
2005/11/03(木) 23:29:19ID:???>>91
そのとおりです。
指定するの忘れてました。
それで見事にできました。
尚、前までは僕が書いたソースで出来ていたのは
なぜかは謎です。
009691
2005/11/03(木) 23:38:57ID:???registor_globals = on だから
$url = $_GET['url'];
相当の処理が自動で行われて動いてたんだろ。
0099nobodyさん
2005/11/04(金) 00:52:15ID:???ってPHP5で5.0.1→5.0.5でも同じなの?
ここ数日のバグの記事を見て自鯖のPHP更新(5.0.1→5.0.5)してたら
Fatal error: Only variables can be passed by reference
ってエラー出た。
0100nobodyさん
2005/11/04(金) 01:02:34ID:???だって見られて困るデータにDBに入ってないし。
DBのデータは変動しないからバックアップ戻せばいいだけだし。
つか、漏れ様の、漏れでさえ解んなくなるプログラムの変数名予測して攻撃するなんて不可能。
手間>得るもの
だからさ。
0101nobodyさん
2005/11/04(金) 01:05:50ID:???$sql = "まあ、ふつうのsql文";
$result = mysql_query($sql);
$rows = mysql_num_rows($result);
って書いてるところを
$sql = "まあ、ふつうのsql文";
$rows = mysql_num_rows(mysql_query($sql));
って書くのは、パフォーマンス的にはどうなんでしょう?
$sql = "まあ、ふつうのsql文";
while ($row = mysql_fetch_array(mysql_query($sql))) {
いろいろ
}
なんてのもいかがなもんでしょうか?
ずっと上の書き方してたけど、一行でも減らしたいと思うんですが。
0102nobodyさん
2005/11/04(金) 01:12:18ID:???こまめにバックアップとっとこう(´・ω・´)
0103nobodyさん
2005/11/04(金) 01:15:49ID:???・前ページ
<a href="next.html#page_bottom">次のページの下</a>
・次ページ(next.html)
・
・
・
<a name="page_bottom"></a>
</body>
</html>
で出来たんだけど
関数で呼び出したときにページの最下部を表示させるにはどうすればいいの?
0104nobodyさん
2005/11/04(金) 01:19:16ID:???0105nobodyさん
2005/11/04(金) 01:24:07ID:???ちょっと思い違いというか勘違いしてました
0106nobodyさん
2005/11/04(金) 01:27:55ID:???0107nobodyさん
2005/11/04(金) 02:24:26ID:???0108nobodyさん
2005/11/04(金) 04:23:52ID:uML+jUAbhttp://curl.haxx.se/download.html
ってPHPでも使えますか?
0109nobodyさん
2005/11/04(金) 04:26:26ID:???>って書くのは、パフォーマンス的にはどうなんでしょう?
かわんねーよ。ベンチとるまでもなく0.01秒以上の差がコンスタントに出たら、びっくりしてウソコもらしてやる。
>while ($row = mysql_fetch_array(mysql_query($sql))) {
何回mysql_query呼び出す気ですか?(これじゃループする度に呼ばれちまうんですけど)
>一行でも減らしたいと思うんですが。
減らすのは自由だが、今のご時世は可読性・保守性を重視する風潮があるので、同意を得るのは難しいと思われ。
人様に迷惑かけない程度にな。
>>108
うん
0110nobodyさん
2005/11/04(金) 04:51:08ID:???$rows = mysql_num_rows(mysql_query($sql));
でもいいのなら後この結果セットを使わないってことだよな。
だとしたらSQLでCOUNT(*)でもよさげ。
101の質問にはSQLが書いてないが、パフォーマンスを言うなら
SQLも無ければ考察は無理。
phpのパフォーマンスじゃなくMySQLに与えるSQLが影響を与える
可能性が大きい
と思う。つか自分で確認してみるという選択肢は無いのかね君には。
0111nobodyさん
2005/11/04(金) 10:51:45ID:???0112nobodyさん
2005/11/04(金) 11:02:20ID:???<a href="mailto:[email protected]">click here</a>
ってこと?
0113nobodyさん
2005/11/04(金) 13:53:43ID:???ttp://www.gac.jp/article/index.php?stats=question&id=16225&command=msg
>>111
ttp://www.gac.jp/article/index.php?stats=question&id=16237&command=msg
恥知らずなマルチはお止めなさい。
0114nobodyさん
2005/11/04(金) 14:04:45ID:J9d48tpa0115nobodyさん
2005/11/04(金) 17:25:37ID:V1LIAVum自分自身のファイル名をすることは出来ますか?
0117nobodyさん
2005/11/04(金) 17:42:00ID:???わぁーお、どもども。$_SERVERの方ばかり見てましたよ。
変な日本語は2ちゃん語の一種ということで・・。
0118nobodyさん
2005/11/04(金) 17:51:12ID:???マニュアルの3章〜5章には目を通しておいた方がよいよ。
余裕がないなら3章だけでも。
自分の日本語が変なのを2ちゃんのせいにするな( ゚Д゚)ゴルァ!!
0119118
2005/11/04(金) 17:53:18ID:???0120nobodyさん
2005/11/04(金) 18:03:48ID:???メールから取得した本文がquoted-printableでエンコードされているとmb_detect_encodeでも変になるし・・
メールのヘッダから取るしかないのかな・・
0121nobodyさん
2005/11/05(土) 04:30:57ID:???Content-TypeとContent-Transfer-Encoding見るしかないかな。
0122nobodyさん
2005/11/05(土) 11:24:59ID:???掲示板を設置してみたんですけど書き込みできません
掲示板は表示されてるのでPHPは動いてるようなんですが
設定すべき所があるのでしょうか?
環境は↓です
WinXP sp2
04WebServer 1.82
PHP 4.4.1
0123122
2005/11/05(土) 11:26:14ID:2U/gHABa0125nobodyさん
2005/11/05(土) 11:42:09ID:???ソースはこれ?
http://php.s3.to/bbs/p-bbs.php.txt
エラーも出ないね.
0126122
2005/11/05(土) 11:44:52ID:2U/gHABa掲示板のデフォ設定がhogehoge.comになってるようです
書き込みできるようになったら直します
>>125
そうです
レッツPHP!のP-BBSです
0127122
2005/11/05(土) 11:47:36ID:2U/gHABa原因は同じだと思うのですが
0128nobodyさん
2005/11/05(土) 11:50:03ID:???0130122
2005/11/05(土) 12:02:23ID:2U/gHABaphp.iniの270行目のことでしょうか?
error_reporting = E_ALL & ~E_NOTICE
↓
error_reporting = E_ALL
に変えてみました
0131122
2005/11/05(土) 12:04:21ID:2U/gHABaApacheは難しそうなので・・・
0132nobodyさん
2005/11/05(土) 12:09:20ID:???http://219.66.201.34/testbbs/p-bbsa.php?mode=regist
ってGETで渡すとエラー画面が出るんだけど,
POST だと何の反応もない.
0133122
2005/11/05(土) 12:15:02ID:2U/gHABa「POST 200 OK 正常に終了しました」とは出てます
でも掲示板では書き込み出来てないんですよね・・・
0134122
2005/11/05(土) 12:25:27ID:2U/gHABaうpろだです。これもUP出来ません
UPしてみるとファイル転送はされるんですけど
04WebServerのほうで100%正常終了って出ても、うpろだでは何も反映されないです
0136122
2005/11/05(土) 12:37:34ID:2U/gHABaこれで見れますか?
http://219.66.201.34/test.php
なんか見せたらまずそうな物まで見えちゃってますけど・・・
0137nobodyさん
2005/11/05(土) 12:40:28ID:???0138nobodyさん
2005/11/05(土) 13:06:21ID:???POSTが渡ってない模様。GETが含まれるとなんか渡るぽい
試しに
<form method="POST" action="/testbbs/p-bbsa.php">
を
<form method="POST" action="/testbbs/p-bbsa.php?hoge=piyo">
としてやってみそ。挙動が変わる。(エラーになってるみたいだけど)
なんか04WebServerの問題ぽいけど、よくわからん
POSTされたかどうか確認するには
<form method="POST" action="/test.php">
にしてやってPHP Variablesを見る。
0139nobodyさん
2005/11/05(土) 13:15:45ID:1PzhgjSf・ホスト名が逆引きできないホストからの書込を禁止
・正引きと逆引きの結果が異なるホストからの〜
・特定プロバイダ、特定IPアドレスからの〜
したいのですが、サンプルが見つからず四苦八苦しています。
よくあるやり方だと思うのですが、ど…どなたかヒントを…
(アクセス自体を禁止でも良いんですが、借りてるサーバが
余り.ht〜設定ファイルの自由が利かない。)
0140122
2005/11/05(土) 13:23:31ID:2U/gHABa今度はBlackJumboDogで試してみたいと思います
どうもありがとうございました
0141nobodyさん
2005/11/05(土) 13:40:34ID:???何が分からんのか分からんが、
IPアドス -> ホスト名 は gethostbyaddr()
その逆は、gethostbyname()
この2つを使えばその条件をスクリプトに反映できるべ?
0142nobodyさん
2005/11/05(土) 13:40:41ID:???ここに色々あるようよ↓
ttp://www.hotscripts.com/PHP/Scripts_and_Programs/Networking_Tools/Combinations/
0145nobodyさん
2005/11/05(土) 15:19:06ID:???まあ色んな制限方法のひとつとして挙げてるんだろうけど
>正引きと逆引きの結果が異なるホスト
は普通に多いよ。
0146nobodyさん
2005/11/05(土) 16:05:47ID:???>>145
その種のアクセスを制限する事の是非・(やその種の議論がよくある事)も分かってるんだけど、
サイト自体のユーザがある程度制限されていて、それを規制する事で良ユーザ/不正ユーザを切り分けできそうなんです。
(宣伝の書込をしつこくしてくる人が居て、前は逆引きできてたのでプロバイダに苦情を言って
本人に警告して貰ったてたんだけど、最近それを消してアクセスしてくるんですよね。)
0147nobodyさん
2005/11/05(土) 17:19:41ID:???宣伝のドメインが書込みされたら
精神的ブラクラにLocationしてやってる
0148147
2005/11/05(土) 17:21:19ID:???もちろん宣伝ドメインは登録するけどね
0149nobodyさん
2005/11/05(土) 17:29:14ID:???ただし賠償されるといやなのでime.nu経由で
0150nobodyさん
2005/11/05(土) 17:47:04ID:???0151nobodyさん
2005/11/05(土) 17:47:28ID:???100000という数字を下4桁でピリオドをうって10.0000としたい場合
どうすればいいのでしょうか?
number_formatとかで、できるんでしょうか?
すみませんが教えてください。
0152nobodyさん
2005/11/05(土) 18:01:49ID:???やってみたか?試してみてどこがどうなってこれこれになってしまって
どうしたら?って質問するようにしたほうがいいと思うよ
number_format(100000 / 10000, 4, "," "");
0153nobodyさん
2005/11/05(土) 18:11:15ID:???ありがとうございます。
試してはみたものの、先に答えが知りたくなって説明不足でした。
気をつけます、スイマセンでした
0154nobodyさん
2005/11/05(土) 18:34:45ID:b1n2JPhiバッファに記録されているようで、プログラム終了時に一括出力されてしまいます。
(バッファをフラッシュしているにもかかわらず画面には出力されない)
どのようにすればよいのでしょうか
$i = 0;
while ($i < 5) {
print $i."<br>";
$i = $i + 1;
print $i."<br>";
ob_end_flush(); ←フラッシュ
sleep(3);
}
0155nobodyさん
2005/11/05(土) 18:57:49ID:???>>152 の方法だと最初の4桁しかピリオドつかないけどいいのかな?
function number_format_jp($a)
{
$b = '';
$n = strlen($a);
for ($i = 1; $i <= $n; $i++) {
$c = substr($a, -$i, 1);
$b = $c . ($i > 1 && $i % 4 == 1 ? '.' : '') . $b;
}
return $b;
}
$a = 1234567890;
echo number_format_jp($a); // 12.3456.7890
>>154
前スレに同じ質問があった気がするなぁ
0157151
2005/11/05(土) 19:09:51ID:???今回はとりあえず上の感じで良かったのですが、
4桁毎にピリオドで考えてくれたワケですね。
勉強になります。有難うございました。
0159nobodyさん
2005/11/05(土) 21:08:18ID:???ドメイン取得、レンタル鯖借りる手続きを代行。サイト構築、プログラムも書いて納品。
一応手を離れたことにはなってるけど、これでレンタル鯖がphpに対策してプログラムになんか問題が起きたらこれはうちが無償対応すべき問題?
もちろん気になって色々テストしてるけど、問題は起きてない模様だけど、こういうケース(手を離れた仕事)に関してはどう対応すべきだろう?
実際はhtmlレベルでの更新作業では関わってるんで、シラネとは言えないんだろうけど。
0160nobodyさん
2005/11/05(土) 21:27:49ID:???0161nobodyさん
2005/11/05(土) 21:30:48ID:???更新作業で金取ってないの? だとしたらえらい勿体無い話だが
逆に気にしてテストするにしたって工数取られるわけで、
保守契約結んでない状態でそんな考えでいること自体どうかと思うぞ
0162nobodyさん
2005/11/05(土) 21:51:28ID:???簡単な修正や、バックアップをして保守料金(レンタル鯖代金に上乗せ)してるケースもあります。
>>161
今回気にしてるのは、完全に手を離れたケースはどうなるのかな?と。
立ち上げまでのやり取りで、もう、手を切りたくなっちゃう倉っているじゃないですか?
こいつとかかわり続けるだけでもう損失、みたいな。
そういうとこに限ってなにか文句言ってきそうな悪寒。
「おたくのプログラムが問題起こしてるんだからなおせよ、ゴルァ」とか
そういう客は、ドメインの管理とか、レンタル鯖の料金も全部そっちに請求が逝く様にしちゃってます。というわけで、なにか、作業があれば、その都度見積もりって形になってるのです
0163nobodyさん
2005/11/05(土) 21:59:24ID:???だから「phpでこういった問題がありまして、セキュリティ上の対策を打たないと
大変危険です。ところで現在セキュリティ強化キャンペーンを行っており・・・」
で見積もり切ったらええやん
0165nobodyさん
2005/11/05(土) 22:09:28ID:HRh85ELj$hoge = <<<AAA
$abc.def
AAA;
$hoge -> 111def にしたいのですが、
ヒアドキュメントの場合はどう記述するのが標準なのでしょうか?
上のように記述すると、 111.defとなってしまうので困っています。
0167nobodyさん
2005/11/05(土) 22:19:56ID:???マニュアルの文字列#ヒアドキュメント構文の所に載っている気がするが・・・
個人的にヒアドキュメントって使わないんだが、
メリットって"をエスケープせずに含められる程度?
0168nobodyさん
2005/11/05(土) 22:23:54ID:???ふと、阪神大震災の時のことを思い出した。
壊れた屋根に頼んでもいないのにブルーシートを張ってくれた心優しい工務店…
人の情けが身にしみるぜって思ってたけど、後日、請求書が来た。
0170nobodyさん
2005/11/05(土) 23:07:19ID:???セキュリティに問題がある,と煽って稼ぐ業者がでてきたら面白いねww
0172nobodyさん
2005/11/06(日) 00:41:04ID:???いや、もう、構築の段階で度重なる仕様変更で、ソースがひどいことになってるんです。
もう手を切るつもりで書いたんで自分で書いたのに読解不能。
というわけで、どう考えても割にあわない。
>>171
$abc = 111;
$hoge = "{$abc} def";
こうだよね?
もれはピリオドで繋ぐっていうのはほとんどしないなぁ。{}で囲んで埋め込む。
速度は、ピリオドで繋ぐ方がパースが早いって話を聞いた事あるけど、まぁ漏れが関わるレベルならこれで問題ないし、この方が可読性いいし。
0173nobodyさん
2005/11/06(日) 00:56:37ID:???>$hoge = "{$abc} def";
>こうだよね?
よく見てみ.>>171(>>165)はヒアドキュメント内の話.
たぶん実際は {$abc}def の前後にも文字列が入ったりするんだと思う.
だから, $hoge = "{$abc}def"; ってまとめてしまうことはできないはず.
0174nobodyさん
2005/11/06(日) 02:14:20ID:fwhEDGozレッツPHPという処から頂いてきましたが鯖はRIBBONなのですが
IDとは何処で調べるものでしょうか?
0175nobodyさん
2005/11/06(日) 03:14:31ID:???0176nobodyさん
2005/11/06(日) 03:16:31ID:fwhEDGoz■ このスレッドは過去ログ倉庫に格納されています