현재 내 사용자 지정 CMS에서 작업하고 있으며 관리자가 공용 영역에서 PHP 파일 및 스타일 시트를 편집 할 수있게하려고합니다. 나는 파일에 접근하는 데 문제가 없으며 Google-ing의 결과로 얻은 결과와이 사이트를 다소 철저하게 검색하여 여러 아이디어를 시도했습니다. 출력 텍스트 영역 내의 각 파일의 내용 jQuery를 사용텍스트 영역 내에서 PHP 코드 편집 가능
<?php
$dir = "./";
function get_files($directory = "") {
$dir = $directory;
if(is_dir($dir)) {
$dir_array = scandir($dir);
$filtered = array();
foreach($dir_array as $file) :
if(stripos($file, '.') > 0)
array_push($filtered, $file);
endforeach;
return $filtered;
} else {
//Do something else
}
}
:
받기 파일 :
$(document).ready(function() {
$('.file').each(function(){
var file_link = this;
var HTML_FILE_URL = './' + file_link.id;
var file_id = file_link.id;
$(file_link).bind('click', function(){
$('#filename').text(" - " + file_id);
$.get(HTML_FILE_URL, function(data){
var htmlData = htmlEntities(data);
$('textarea').text(htmlData);
});
});
});
});
function htmlEntities(str) {
//This is a function which I found on this site.
//It gave me a good result on the html part
//However, the PHP codes were already executed.
}
을 나는 매우 어떤 경우 감사하겠습니다 지금까지 나는 경우 여기 하나는 올바른 방향으로 나를 가리킬 수 있습니다. 내가 완전히 간과하고있는 특정 PHP 메소드가 있습니까? 내가 참조 할 수있는 해결책이 있습니까?
감사합니다.
의 범위를 넘어,이 위험 할 수 . –
당신이 작동하는지 여부에 상관없이, 나는 이것이 매우 나쁜 생각이라는 것을 지적하는 것이 중요하다고 느낍니다. 사이트 관리자가 임의의 PHP 코드를 입력하도록 허용하는 것은 시스템에 넣을 수있는 가장 큰 보안 위험에 관한 것입니다. 관리자가 모두 신뢰할 수 있고 암호 저장 시스템이 완전히 안전하다고하더라도 (정말로 확실합니까?) 공격자가이 기능을 사용하여 시스템을 손상시킬 수있는 방법은 여러 가지가 있습니다. – Spudley
누구도' php rmdir || 링크 해제 || 뭐든지 앱에 넣어주세요. 그럼에도 불구하고 사람들이 코드와 스타일을 엉망으로 만들고 싶다면 FTP 액세스 권한을 부여하기 만하면됩니다. – moonwave99