优化open_basedir配置2

pull/199/head
midoks 3 years ago
parent 7872891797
commit 1c7db0e2ec
  1. 13
      class/core/site_api.py
  2. 6
      route/static/app/site.js

@ -357,15 +357,18 @@ class site_api:
def setDirUserIniApi(self):
path = request.form.get('path', '')
runPath = request.form.get('runPath', '')
filename = path + '/.user.ini'
self.delUserInI(path)
if os.path.exists(filename):
self.delUserInI(path)
mw.execShell("which chattr && chattr -i " + filename)
os.remove(filename)
return mw.returnJson(True, '已清除防跨站设置!')
mw.writeFile(filename, 'open_basedir=' + path +
'/:/www/server/php:/tmp/:/proc/')
self.setDirUserINI(path, runPath)
mw.execShell("which chattr && chattr +i " + filename)
return mw.returnJson(True, '已打开防跨站设置!')
def logsOpenApi(self):
@ -2357,17 +2360,17 @@ location ^~ {from} {
# 设置目录防御
def setDirUserINI(self, sitePath, runPath):
newPath = sitePath + runPath
filename = newPath + '/.user.ini'
if os.path.exists(filename):
mw.execShell("chattr -i " + filename)
os.remove(filename)
return mw.returnJson(True, '已清除防跨站设置!')
newPath = sitePath + runPath
self.delUserInI(newPath)
openPath = 'open_basedir={}/:{}/'.format(newPath, sitePath)
mw.writeFile(filename, openPath + ':/www/server/php:/tmp/:/proc/')
mw.execShell("chattr +i " + filename)

@ -338,6 +338,7 @@ function webPathEdit(id){
var userini = data['data'];
var webpath = userini['path'];
var siteName = userini['name'];
var runPath = userini['runPath']['runPath'];
var userinicheckeds = userini.userini?'checked':'';
var logscheckeds = userini.logs?'checked':'';
var opt = ''
@ -385,7 +386,10 @@ function webPathEdit(id){
$("#webedit-con").html(webPathHtml);
$("#userini").change(function(){
$.post('/site/set_dir_user_ini','path='+webpath,function(userini){
$.post('/site/set_dir_user_ini',{
'path':webpath,
'runPath':runPath,
},function(userini){
layer.msg(userini.msg+'<p style="color:red;">注意:设置防跨站需要重启PHP才能生效!</p>',{icon:userini.status?1:2});
tryRestartPHP(siteName);
},'json');

Loading…
Cancel
Save