我目前正在使用自定義的CMS,並且希望管理員能夠在公共區域編輯php文件和樣式表。我沒有遇到文件問題,並且根據我的發現,嘗試了幾個基於谷歌搜索和我的搜索這個網站的想法。這裏就是我至今:使PHP代碼可以在textarea內編輯
獲取文件:
<?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
}
}
使用jQuery輸出的文本區域內的每個文件的內容:
$(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方法可以完全忽略嗎?有沒有我可以參考的解決方案?
謝謝。
從安全的角度來看,我不會從CMS允許編輯PHP文件的範圍,這可能是危險的。 –
無論你是否得到它的工作,我覺得指出這是一個非常糟糕的主意很重要。允許網站管理員輸入任意的PHP代碼是關於您可以將其放入系統的最大安全風險。即使這些管理員都是可信的(他們是誰?),並且您的密碼存儲系統是完全安全的(它是否確實?您確定嗎?),攻擊者仍然可以通過多種方式使用此功能來危害您的系統。 – Spudley
不要讓任何人寫'<?php rmdir ||取消鏈接||無論什麼'進入你的應用程序,請。不過,如果你想讓人們混淆你的代碼和樣式,只需授予他們FTP訪問權限即可。 – moonwave99