업로드된 php 파일을 워드프레스로 실행하는 대신 일반 텍스트로 표시하는 방법은 무엇입니까?
편집testme.php파일을 /tmp에 저장합니다.
<?php
echo "test";
?>
다음 제목의 새 게시물 편집test파일 업로드/tmp/testme.phpurl로 표시합니다.http://home.local/wp/?p=4785.
테스트해보고, 클릭하고, 워드프레스로 새 창을 띄우고 싶습니다.
계속 클릭합니다.test웹 페이지에 표시됩니다.
내 예상은:
1.그냥 클릭testme시험장에서 한 번.
2.쇼를 보다testme.php일반 텍스트로,
<?php
echo "test";
?>
실행 결과 대신testme.php.
test
몇 가지 재료에 따라 구성합니다.show php file as plain text in apache.
sudovim /etc/sys2/sudov-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(build in 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 phpApache가 PHP 파일(또는 이름이 끝나는 파일)을 처리하도록 만들 것입니다..php일반 텍스트 파일로 사용할 수 있습니다.
하지만 다음을 가정하면:
에 WordPress가 설치되어 있어야 합니다.
/var/www/html디렉토리입니다.PHP 파일이 기본값으로 업로드됩니다.
uploadsWordPress의 폴더(wp-content/uploads).
디렉터리를 다음으로 설정하는 경우/var/www/html/wp-content/uploads다음과 같이:
<Directory /var/www/html/wp-content/uploads>
AddType text/plain php
</Directory>
원하는 결과를 얻을 수 있습니다. PHP 파일만 해당됩니다.uploads폴더는 일반 텍스트 파일로 취급되며, 모든 PHP 파일은 아닙니다./var/www/html디렉토리입니다.이는 "포스트를 열려면, 다음 출력을 받았습니다"의 문제를 설명합니다. 여기서 출력은 파일의 코드입니다./var/www/html/index.php내 말은, 당신은<Directory /var/www/html>그래서 아파치가 치료를 하게 됩니다.index.php파일에서 PHP 코드를 실행하는 대신 일반 텍스트 파일로 파일을 만듭니다.
대체 방법:사용.htaccess파일.
특히 Apache의 구성을 편집할 수 없거나 액세스할 수 없는 경우(.conf) 파일.
만들다
.htaccess에서uploads폴더(아직 없는 경우).그 다음 추가
AddType text/plain php그 파일 안에.
추가 참고 사항
내용을 보고 싶습니다.
testme.php클릭하면 새 창이 나타납니다.
그렇게 할 수 있거나 이미 코드/솔루션을 가지고 있을 것이라고 확신하지만, 쉬운 방법은 추가하는 것입니다.target="_blank"첨부 파일/파일 링크로 이동합니다.또는 JavaScript를 사용하여 를 사용할 수 있습니다.
그리고 사람들이 PHP 파일을 업로드하도록 허용하면 사이트 및/또는 사이트 사용자에게 해를 끼칠 수 있으므로 완전한 보안 조치를 취해야 합니다.
당신은 무엇을 성취하려고 합니까?당신은 PHP 파일의 내용을 표시하는 하이퍼링크를 얻으려고 하는 것 같습니다.WordPress 게시물은 데이터베이스에 저장됩니다.그래서 당신이 "출판"이라고 말할 때, 당신은 무슨 말이죠?WordPress 게시물을 참조하는 데이터베이스 항목 또는 PHP 파일?화면에 원하는 것이 PHP 파일의 실행되지 않은 내용뿐이라면 WordPress "post"를 게시해서는 안 됩니다.게시물에는 무엇이 포함되어 있습니까?만약 당신이 PHP 파일을 게시물의 내용으로 넣는 것을 말하는 것이라면, 그것 또한 다른 것이 될 것입니다.PHP 파일의 내용을 표시하는 가장 쉬운 방법은 텍스트 파일로 이름을 바꾸는 것입니다.
myFile.php => myFile.php.txt
언급URL : https://stackoverflow.com/questions/52362401/how-to-show-uploaded-php-file-as-plain-text-instead-of-executing-it-in-wordpress
'programing' 카테고리의 다른 글
| rs.last()가 전달 전용 결과 집합에 대해 잘못된 작업을 제공함: last (0) | 2023.06.13 |
|---|---|
| dplyr을 사용한 상대 빈도/비율 (0) | 2023.06.13 |
| ASP.NET 응용 프로그램이 로컬에서 실행 중인지 확인 (0) | 2023.06.13 |
| 엑셀에서 워드로 붙여넣은 차트의 파일 크기 줄이기 (0) | 2023.06.13 |
| x86과 x64의 동일한 페이지 내에서 버퍼의 끝을 지나서 읽는 것이 안전합니까? (0) | 2023.06.13 |