0

更新: 私の php では .org ではなく .com でした。

これは私を完全に夢中にさせています。私はこのサイト、グーグル、そして解決策を探している間のあらゆる場所に行き、すべてを試しました。現在ここに:

CentOS 6、アパッチ 2

iptables をオフ ユーザー グループ: ftpdir グループ内のユーザー: root、apache、fwf (私の ftp ユーザー、ftp は正常に動作) ディレクトリのアクセス許可、すべてテスト目的で有効化

rxwrxwrxw on /srv/www/floridawinefest.com/public_html/
rxwrxwrxw on /etc/tmp/

php.ini はセーフモードが無効、ファイルのアップロードが有効、一時ディレクトリが /etc/tmp に設定、最大ファイル サイズが 5 MB で、200k ファイルでテスト済み

apache:ftpdir を使用して public_html ディレクトリで chown を実行しました

apache:ftpdir を使用して etc/tmp ディレクトリで chown を実行しました

/public_html 内のすべてのファイルとディレクトリに対して chmod を再帰的に実行しました

ファイルをアップロードしようとすると、まだ以下のエラーが発生する

Warning: move_uploaded_file(/srv/www/floridawinefest.com/public_html/topBG.jpg): failed to open stream: Permission denied in /srv/www/floridawinefest.org/public_html/uploader.php on line 11 Warning: move_uploaded_file(): Unable to move '/etc/tmp/php9TTyoR' to '/srv/www/floridawinefest.com/public_html/topBG.jpg' in /srv/www/floridawinefest.org/public_html/uploader.php on line 11

私のコード:

chmod($_FILES["file"]["tmp_name"], 0777); 

$success = move_uploaded_file($_FILES["file"]["tmp_name"], "/srv/www/floridawinefest.com/public_html/" . $filename_full);
echo "Succes: " . $success . "<br />";
chmod($filename_full, 0777);

if ($_FILES["file"]["error"] > 0)
{
    echo "Error: " . $_FILES["file"]["error"] . "<br>";
}
else
{
    echo "Upload: " . $_FILES["file"]["name"] . "<br>";
    echo "Type: " . $_FILES["file"]["type"] . "<br>";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
4

1 に答える 1

0

本当の話です(回答済みなので)。このようなアップロード コードを書いた子供がいました。ディレクトリにダンプしました。何もチェックしませんでした(あなたのコードがチェックしないのと同じように)。何年も経ち、トルコの馬鹿が PHP スクリプトをアップロードしました。サーバーをほとんど乗っ取ってしまいました (カーネル レベルで彼のルートキットをブロックする何かがありました。セキュリティは何層にもわたって勝ちました)。だから考慮すべきこと

  1. ルートにアップロードしないでください。ディレクトリを作成し、可能であれば、そのディレクトリの PHP 処理をオフにします (.htaccess を介して実行できます)。ファイルのアップロードからすべてのリスクを取り除きます。
  2. ファイルを確認してください。あなたの場合、画像が必要です。これを検証する優れた方法は、GD ライブラリや関数のようなものを使用imagecreatefromjpegして、それが言うとおりであることを確認することです。
于 2013-10-11T19:11:15.753 に答える