小编Aii*_*ias的帖子

是否可以限制php在操作系统级别通过exec传递的命令?

我目前在CentOS机器上托管Drupal 6网站.Drupal(CMS)配置包含几十个不应该作为一般最佳编码实践分叉的第三方模块.但是,其中一些模块使用phpexec命令才能正常运行.

该站点允许管理员通过UI配置在任何页面中嵌入php代码片段,并授予他们可以访问php代码输入格式的权限.我需要将此输入格式保留给管理员,因为有几个节点(页面)和面板窗格使用小的,无害的PHP代码片段,例如,将特定表单嵌入到内容区域中.

问题是,如果有人妥协的管理员帐户,然后他们可以在网站上运行任意PHP代码,从而通过PHP的运行shell命令exec,passthru等有什么办法,从操作系统层面,限制什么shell命令php可以传递给机器吗?这可以通过限制从PHP的某些程序的文件权限来完成吗?

注意:我不能使用php.ini disable_functions指令,因为exec在许多情况下我仍然需要正常运行,例如,模块使用某些shell命令,例如视频编码.

php command-line drupal centos exec

11
推荐指数
2
解决办法
2889
查看次数

是否可以使用Javascript检索iframe的*full*HTML页面源?

我试图找出如何检索完整(这意味着所有的数据)的HTML页面源来自<iframe>src来自同一原始域作为它嵌入页面.我想在任何给定时间获得确切的源代码,由于Javascript或php生成<iframe>html输出,这可能是动态的.这意味着AJAX调用$.get()对我来说不起作用,因为页面可能已经通过Javascript修改或根据请求时间或mt_rand()在php中唯一生成.我无法<!DOCTYPE>从我的身上找到确切的声明<iframe>.

我一直在试验并搜索Stack Overflow并且没有找到一个解决方案来检索所有页面源代码,包括<!DOCTYPE>声明.

一位在回答如何获得与jQuery整个页面的HTML?建议,为了检索<!DOCTYPE>信息,你需要手动构造此声明,通过检索<iframe>document.doctype属性,然后将所有的属性到<!DOCTYPE>申报自己.这真的是从<iframe>HTML页面源中检索此信息的唯一方法吗?

以下是我看过的一些值得注意的Stack Overflow帖子,这不是重复的:

下面是我的一些本地测试代码,说明到目前为止我最好的尝试,只检索内包括数据<iframe><html>标签:

main.html中

<html>
<head>
  <title>Testing with iframe</title>
  <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
  <script type="text/javascript">
  function test() {
    var doc = document.getElementById('iframe-source').contentWindow.document;
    var html = $('html', doc).clone().wrap('<p>').parent().html();
    $('#output').val(html);
  }
  </script>
</head>
<body>

<textarea id="output"></textarea> …
Run Code Online (Sandbox Code Playgroud)

javascript iframe jquery doctype dom

9
推荐指数
1
解决办法
3145
查看次数

在一个sql命令访问中从一个数据库表中选择多个计数

我有一个以下格式的表格:

STATE SURVEY_ANSWER  
NC high  
NC moderate  
WA high  
FL low  
NC high
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个可以得到以下结果的查询:

STATE HIGH MODERATE LOW 
NC 2 1 0  
WA 1 0 0  
FL 0 0 1
Run Code Online (Sandbox Code Playgroud)

不幸的是,这些是我得到的结果:

STATE HIGH MODERATE LOW 
NC 3 1 1  
WA 3 1 1  
FL 3 1 1  
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的代码:

Select mytable.STATE,
(SELECT COUNT(*) FROM mytable WHERE mytable.survey_answer = 'low' and state = mytable.state) AS low,
(SELECT COUNT(*) FROM mytable WHERE mytable.survey_answer = 'moderate' and state = mytable.state) AS moderate,
(SELECT COUNT(*) …
Run Code Online (Sandbox Code Playgroud)

sql ms-access select

5
推荐指数
1
解决办法
8159
查看次数

标签 统计

centos ×1

command-line ×1

doctype ×1

dom ×1

drupal ×1

exec ×1

iframe ×1

javascript ×1

jquery ×1

ms-access ×1

php ×1

select ×1

sql ×1