testme.php
/ tmp内のファイルを編集します。
<?php
echo "test";
?>
タイトルの新しい投稿を編集してtest
ファイルをアップロード/tmp/testme.php
し、URLで公開しますhttp://home.local/wp/?p=4785
。
testmeでコンテンツを表示し、クリックして、wordpressで新しいウィンドウをポップアップします。
続けてクリックしてください。test
ウェブページに表示されます。
私の期待:
1。testme
テスト投稿を1回クリックするだけです。
2.testme.php
プレーンテキストとして表示します。
<?php
echo "test";
?>
を実行した結果の代わりにtestme.php
。
test
いくつかの素材に合わせて構成しますshow php file as plain text in apache
。
sudo vim /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
ServerName www.home.local
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
allow from all
php_flag engine off
AddType text/plain php
</Directory>
</VirtualHost>
apache2を再起動します(debianでビルド)。
sudo systemctl restart apache2
投稿を開くためにhttp://home.local/wp/?p=4785
、私はウェブページに次の出力を得ました:
<?php
/**
* Front to the WordPress application. This file doesn't do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
*
* @package WordPress
*/
/**
* Tells WordPress to load the WordPress theme and output it.
*
* @var bool
*/
define('WP_USE_THEMES', true);
/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
すでに正しいコードがあります—AddType text/plain php
これにより、ApacheはPHPファイル(または名前がで終わるファイル.php
)をプレーンテキストファイルとして扱います。
しかし、次のことを前提としています。
/var/www/html
ディレクトリにWordPressがインストールされています。
PHPファイルはuploads
WordPressのデフォルトフォルダにアップロードされます(wp-content/uploads
)。
ディレクトリを次のように設定した場合/var/www/html/wp-content/uploads
:
<Directory /var/www/html/wp-content/uploads>
AddType text/plain php
</Directory>
希望する結果が得られuploads
ます。フォルダ内のPHPファイルのみがプレーンテキストファイルとして扱われ、ディレクトリ内のすべてのPHPファイルが扱われるわけではありません/var/www/html
。これは、「投稿を開くためhttp://home.local/wp/?p=4785
に、次の出力が得られた」という問題を説明しています/var/www/html/index.php
。この出力は、ファイル内のコードです。<Directory /var/www/html>
つまり、を使用したため、Apacheはindex.php
ファイル内のPHPコードを実行する代わりに、ファイルをプレーンテキストファイルとして扱います。
別の方法:.htaccess
ファイルを使用します。
特に、Apacheの構成(.conf
)ファイルを編集できないか、アクセスできない場合。
まだフォルダにない場合.htaccess
は、uploads
フォルダに作成します。
次にAddType text/plain php
、そのファイルを追加します。
のコンテンツを表示したいので
testme.php
、クリックして新しいウィンドウをポップアップします
あなたはそれを行うことができるか、すでにコード/ソリューションを持っていると確信していますが、簡単な方法はtarget="_blank"
、添付ファイル/ファイルのリンクに追加することです..またはJavaScriptを使用すると、を使用できますwindow.open()
。
また、PHPファイルのアップロードを許可すると、サイトやサイトユーザーに損害を与える可能性があるため、完全なセキュリティ対策を講じる必要があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加