1

ユーザー管理スクリプトを実行しているクライアントがいます。ホストプロバイダーはallow_url_fopenをブロックしましたが、suPHPを使用しているため、allow_url_fopenを「on」に設定してphp.iniのローカルコピーを作成しました。

現在の唯一の問題は、スクリプトを使用してログインできなくなったことです。「ログインに成功しました」と表示されたら、すぐにログアウトします(セッションが作成されていないか、間違った場所にあるためです。サーバーが不足しているため、申し訳ありません。知識)。

ローカルのphp.iniの設定は次のとおりです

upload_tmp_dir = "/home/aspac124/public_html/tmp"
register_globals = On
memory_limit = 256M
session.save_path = "/home/aspac124/public_html/tmp"
safe_mode = off
upload_max_filesize = 32M
allow_url_fopen = On
zend_extension = "/usr/local/IonCube/ioncube_loader_lin_5.3.so"

ホスティングプロバイダーがクライアントに対してregister_globalsをオンにした理由がわかりません。しかし、それはsession.save_pathの正しい場所ですか?確認したところ、フォルダが存在し、確認のために777に設定しましたが、幸福はありません。

同じシステムを使用している別のクライアントにも同様の問題があり、tmp /フォルダーをホームディレクトリに変更したところ、すべて問題がなかったと言われました。

保存パスを/tmp、/ home / aspac124 / tmpとして設定しようとしましたが、何も起こりません。通常どおりログアウトします。パスを作成すると、「そのようなファイルまたはディレクトリはありません」というエラーが発生します。

「/home/ tmp」と入力すると、次のメッセージが表示されます。

Warning: session_start() [function.session-start]: open(/home/tmp/sess_4417d180e599b5f12fc34a28f5467d21, O_RDWR) failed: Permission denied (13) in /home/aspac124/public_html/domainnamehere.com/includes/lightwork_session.php on line 45

これはどういう意味ですか、home / tmpはこれに適した場所ですか?もしそうなら、どうすればよいですか?フォルダのアクセス許可を変更する必要がありますか?

編集:ドメインルート外のフォルダにアクセスできないため、ファイルのアクセス許可を変更できません-クライアントを待つ必要がありますが、その前にできるだけ多くの情報が必要です。

前もって感謝します

編集:これを読んでいる人のためだけに。ローカルのphp.iniファイル設定が、それを必要とする可能性のあるすべてのサブフォルダーに適用されていることを確認してください。ルートのサブフォルダーにあるファイルにajaxリクエストを送信していましたが、これが問題でした。

4

1 に答える 1

1

セッション ディレクトリとアップロード ディレクトリはドキュメント ルートの外に配置する必要があります。そうしないと、これらのディレクトリに誰でもアクセスでき、リモート スクリプト インジェクションやセッション ハイジャックなどが発生する可能性があります。

おそらく、tmp ディレクトリを as として作成し/home/aspac124/tmp、パーミッションを設定して、Apache がこのディレクトリに書き込めるようにする必要があります。おそらく、chmod を 0760 に設定します。

于 2012-06-28T09:42:47.630 に答える