ここから本文です

poti-boardというPHPスクリプトをサイトに設置したいのですが、設置手順通りにサー...

aki********さん

2017/5/2623:38:27

poti-boardというPHPスクリプトをサイトに設置したいのですが、設置手順通りにサーバにアップしても

Parse error: syntax error, unexpected '}' in /…/poti/htmltemplate.inc(366) : eval()'d code on line 146

というエラーが出てしまいます。
エラー該当部分のファイルは全く手を付けてはおらず、サーバの設定も問題ないはずなのですが・・・。
古いスクリプトなのでエラーが出てしまうのだと思うのですが、きちんと今でも動作しているサイトもあるので何が問題なのか分からない状態です。
アドバイスいただけると幸いです。

補足サーバはXdomainという無料のPHP・MySQLサーバー機能を使っています。

この質問は、活躍中のチエリアン・専門家に回答をリクエストしました。

閲覧数:
104
回答数:
1
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

ryo********さん

リクエストマッチ

2017/5/2701:56:50

>> Parse error: syntax error, unexpected '}' in /…/poti/htmltemplate.inc(366) : eval()'d code on line 146

>> エラー該当部分のファイルは全く手を付けてはおらず、サーバの設定も問題ないはずなのですが・・・。

evalによるエラーなので、エラー原因となったコードはこのファイルに書かれているわけではないです。このエラーは「evalの引数に渡された文字列をPHPとして実行した結果エラーが起こった」というものです。あなたがカスタマイズした別のファイルに原因があります。

また、そもそもevalを使っている時点でかなり危ういにおいがするので、使用は極力控えたほうがいいと思います。まともなコードを書いていればevalは不必要です。

「ZIPダウンロード形式のみで無料配布されている古いPHPスクリプト」

まさに地雷中の地雷といっても過言ではないです。こういうのは7割以上セキュリティに無頓着な印象を受けます。

  • ryo********さん

    2017/5/2702:10:22

    ソースコード読んでみたところ、案の定脆弱性がありました。

    register_globalsが有効だったPHP4時代には、以下のような脆弱性がありました。外部リクエストからあらゆるPHPの変数の内容を勝手に設定されてしまうというものです。

    is_uploaded_file() / move_uploaded_file() の必要性? - Qiita http://qiita.com/mpyw/items/db12ce86b15f3b0b3c19#%E6%AD%B4%E5%8F%B2...

    ただし、このスクリプトはPHP5であるにも関わらず

    extract($_POST);
    extract($_GET);
    extract($_COOKIE);

    と、register_globals同等のことを自らやっているので、相変わらず脆弱性はあります。

  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2017/5/27 07:43:05

htmltemplateは関係なかったとは・・・;;;
書き換えたファイルをチェックしたら簡単にエラーなくなりました。なんと…。

ですがやっぱり古いファイルは危険ということですか…。
ありがとうございました。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる