![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
http://phpspot.net/php/pgPHP%E3%81%A7Yahoo!API%E …
上記URLに掲載されているAPIサンプル(yapi.zip)を使っているのですが、
cache ディレクトリに検索されたファイルが蓄積されサーバー容量を圧迫して困っています。
そこで、このcache機能をオフにしたいのですが、
zipファイル内のweb.phpのどの部分を修正すればよいのでしょうか?
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
#1です
52行目の fputsをコメントアウトしてみたらうまくいかないですかね?
昨日と同じ状態なので試してはいません。
間違ってたらごめんなさい。
> また、セキュリティリスクをご指摘いただけ非常にありがたいのですが、
> 私自身もこんな質問をしているレベルのPHP初心者なため、
> 多少のリスクは承知でこのソースを元に改造を進めたいと考えております。
えーと・・・
正直あなた(が利用しているサーバー)だけの問題ではないです。
個人で自宅なりで運用しているサーバーですか?
もしくは実機単位でレンタルしているサーバーですか?
このままの状態だとサーバーになんかしらの悪意のあるコードを埋め込む事ができます。
サーバー自体に無限ループするコードでも埋め込めば、ダウンさせる事も出来るかもしれません。
ご利用のサーバーに対してではなく、あなたのサイトにアクセスしたユーザーに対して、意図しないURLい飛ばす事もできます。
なにかしらの攻撃を受けたときに被害に合うのはあなただけではないという事です。
不特定多数の利用者、またはその周りの人間に対して迷惑をかける事になりかねません。
私はセキュリティに関するプロです。と自信を持って言えるわけではありません。
一般的なそこら辺にいるプログラマです。
ですがあなたのサイトを見つけたら1時間もしないうちに悪意のあるコードをばらまくサイトに出来ると思います。
残念ながら、それくらい穴のあるコードです。少し知識があればすぐにわかります。
なのでプログラムを使うなら、ある程度は読み解けるくらいの勉強をしてください。
あと無償のものにはそれなりに気を使ってください。
グダグダとすみません・・・
回答ありがとうございます、お礼が遅くなって申し訳ありません。
//$fp = fopen($cachename,"w");
//fputs($fp,$xml_str);
//fclose($fp);
↑の3行をコメントアウトしたところ、キャッシュフォルダにキャッシュ画像が溜まらず
検索が行えるようになりました。
No.1
- 回答日時:
DLしてみました。
が、試してません。
ソースの中の数少ないコメントにキャッシュ時間の設定がありますが、そこを変えてもだめなんですか?
47行目
と思ったけど・・・
これだと、ファイル増え続けますよね。
普通にバグだと思います。
「サーバーにキャッシュとして置いといたファイルが1時間以内であればキャッシュから取得する」という意味合いだと思いますが、ソースにはファイルの削除が無いようですね。
ざっとソース見た感想ですが・・・
このまま公開するのはやめた方がよいですね。穴が多いです。
最近PHP始めました! って感じの人のソースを見た気分です。
readmeにcacheディレクトリは777でって書いてます。
公開ディレクトリで? ありえません・・・
$_GET["q"]をそのままHTMLのinput要素に描画させています。
javascript埋め込まれたら・・・
ぱっと見ですぐに見つけたものです。
たぶんまだあるんだろうなと感じます(勝手な感覚です)
というワケでお勧めはしません。
結局回答になってなくてすみません。
とりあえずHDD喰われて困ってるのであればcronで定期的に削除でもしたらいかがでしょう?
使い続けるのであれば、くれぐれも踏み台等にされない事を祈ります。
ご回答ありがとうございます!
ご回答いただいた通り、キャッシュ時間をいじるだけでは意味がないため
そもそもキャッシュをしないような仕様にしたいのですが、お調べいただき幸いです。
また、セキュリティリスクをご指摘いただけ非常にありがたいのですが、
私自身もこんな質問をしているレベルのPHP初心者なため、
多少のリスクは承知でこのソースを元に改造を進めたいと考えております。
引き続き回答のほうは募集させていただきたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでのフルパスの取得 1 2022/09/20 22:51
- その他(プログラミング・Web制作) TwitterAPIを使用せずに自動ツイートする方法を知りたい。考え方としてはブラウザを擬似操作して 2 2023/02/02 17:16
- iPod・ウォークマン・音楽プレーヤー インターネットに接続できるAndroid OS版のmp4プレーヤーを買おうと思っています。 6 2022/05/28 22:10
- Windows 10 プロファイルエラーについて 2 2022/12/16 09:31
- マウス・キーボード Pc切替器が動作しません。理教えてください。よろしくお願いします。 4 2023/05/10 15:43
- その他(パソコン・スマホ・電化製品) Google ドライブのようにXnBay ストレージ サーバのストレージスペースをコンピュータのエク 2 2023/04/28 19:09
- iPhone(アイフォーン) こちらWEB検索できるかが分かりません それからこちらの最安値があれば教えてください https:/ 2 2022/09/14 14:09
- サバイバルゲーム このタイプの差し込み口ってなんの種類か分かりますか? 3 2022/07/29 15:32
- ZOZOTOWN このタイプの差し込み口ってなんの種類か分かりますか? 2 2022/07/29 15:31
- Amazon 同じAmazonなのに同じ製品の値段が違うのはなぜ!? 5 2022/04/04 00:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
URLの中の~の記号の意味は?
-
makefile でファイルをコピーす...
-
【BAT(バッチ)ファイル】Web...
-
EXEを起動するとDLLが見つから...
-
ディレクトリ削除
-
aspのページが表示できません
-
FTPコマンドでディレクトリごと...
-
ディレクトリ削除
-
CFileDialogの最初のディレクト...
-
[php初心者]サイトを見てデータ...
-
別ファイルの変数を呼び出した...
-
mb_send_mailを実行するとエラ...
-
PHPファイルの中身が見られるこ...
-
$_SERVER と $_ENV の違い
-
お名前comのPHPとmysqlの接...
-
複数ファイルを連続でダウンロード
-
ボタンのクリック数を合計保存...
-
これからのPHP開発ではPDOを選...
-
VB6にてメールを送信する方法
-
AccessのDoCmd.SendObjectについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチを用いたフォルダの自動移動
-
CFileDialogの最初のディレクト...
-
FTPコマンドでディレクトリごと...
-
Subversionのリポジトリの削除
-
【BAT(バッチ)ファイル】Web...
-
現在位置より2つ上のディレク...
-
makefile でファイルをコピーす...
-
fopenでファイルが開かない場合...
-
MkDir関数
-
visualstudioでc#のdllができない
-
絶対パス?絶対アドレス?意味...
-
includeが出来ない訳とは?
-
DLL のロードの順序
-
VB.NET 最下位のディレクトリ名...
-
rmdirでフォルダが消せません
-
C言語でのディレクトリ作成につ...
-
ファイル選択ダイアログで選択...
-
aspのページが表示できません
-
ディレクトリの正規表現について
-
バッチファイルで特定ファイル...
おすすめ情報