PHPはサーバー側の言語であるため、phpファイルのダウンロードを許可しないようにする必要があることを私はよく知っています。ただし、ChromeでPHPファイルに直接アクセスすると、ファイルの難読化されたバージョンがダウンロードされます。これは防止したいことです。ファイルの提供を停止する方法はありますか?
コードは以下のとおりです。
システムはWordPress内で完全に機能しますが、Chromeを開いて(そして他の人を推測して)、update.phpファイルに直接アクセスするとダウンロードされます。
特に、HTMLページをエコーしようとしましたが、システムの動作が混乱します。私はこれに何らかの.htaccessトリックがあることを望んでいます。
if (isset($_POST['action'])) {
switch ($_POST['action']) {
case 'version':
echo '1.1';
break;
case 'info':
$obj = new stdClass();
$obj->slug = 'plugin.php';
$obj->plugin_name = 'plugin.php';
$obj->new_version = '1.1';
$obj->requires = '3.0';
$obj->tested = '3.3.1';
$obj->downloaded = 12540;
$obj->last_updated = '2012-01-12';
$obj->sections = array(
'description' => 'The new version of the Auto-Update plugin',
'another_section' => 'This is another section',
'changelog' => 'Some new features'
);
$obj->download_link = 'http://localhost/update.php';
echo serialize($obj);
case 'license':
echo 'false';
break;
}
} else {
header('Cache-Control: public');
header('Content-Description: File Transfer');
header('Content-Type: application/zip');
readfile('update.zip');
}