首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AJAX和PHP,调用PHP函数

AJAX和PHP,调用PHP函数
EN

Stack Overflow用户
提问于 2011-11-17 01:07:23
回答 3查看 113关注 0票数 0

好的,伙计们,我知道这之前已经讲过了,但我的问题严格地说是关于做这样一件事的安全性。我有一个页面,主要是由PHP函数生成的,这些函数在一个单独的文件中的一个类中。我的页面呼叫..。

代码语言:javascript
复制
<div class="transferfunds">
<?php dashboardFunction::buildPickers($uid); ?>
</div> 

就像这样,我的PHP函数是(明显缩写的)...

代码语言:javascript
复制
function buildPickers($uid){
$user =& JFactory::getUser();
}

现在,我希望发生的是,它在加载时加载特定的内容,但当用户与特定的内容(比如下拉列表)交互时,我想使用AJAX再次调用此函数并重新加载特定的div。

我知道我可以通过ajax传递一个变量,然后调用tat函数,比如...

代码语言:javascript
复制
    $.ajax({
        type : 'POST',
        url : 'post.php',
        dataType : 'html',
        data: {
            dataTest : 'test'
        },
        success : function(data){
                 $('#div').html(data);
        },
        error : function(XMLHttpRequest, textStatus, errorThrown) {

        }
    });

并在php中测试它,如下所示...

代码语言:javascript
复制
if(isset($_POST['dataTest']) && !empty($_POST['dataTest'])) {
 dashboardFunction::buildPickers($uid);
}

但是,A。这肯定行得通吗? B。这真的安全吗?它是否易受任何类型的注入等攻击?谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-17 01:13:21

我假设您将以这种方式传递用户凭据,对吗?如果是这样的话,这种方法就不是很安全。最好依靠用户会话在脚本之间共享用户数据。

票数 1
EN

Stack Overflow用户

发布于 2011-11-17 01:12:56

A.这肯定能行吗?

肯定能行得通。但是,如果检索到不同的内容,调用不同的url可能会更简洁。但它会起作用的

B.这真的安全吗?

它是安全的。但是,如果您想以这种方式访问多个函数:

$func =$_POST‘’dataTest‘;仪表板函数->$func();

当然,您应该添加一些允许的函数的白名单。

但是,如果你只想访问一个硬编码的函数,并检查变量是否被设置,这是没有问题的。

票数 0
EN

Stack Overflow用户

发布于 2011-11-17 01:17:00

从您的函数名看,您似乎正在使用此函数来构建选择列表或加载内容--因此,只要您不是在删除/插入/更新数据,而只是选择数据,那么只要您在PHP页面中运行查询之前对输入进行了适当的清理(buildPickers函数),就可以了。

您还可以通过Ajax请求传入一个令牌,并在操作页面上检查该令牌,因此使用对操作页面的URL的直接调用来触发事件会更加困难。

最后,如果您实际上正在执行SELECT操作,那么您可能应该使用GET而不是POST,尽管实际上这并不重要。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8155690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档