2013-03-09 113 views
-2

我们需要在javascript中使用一些php函数吗?在javascript中调用php函数

,你怎么看待这个这个Ajax解决方案:

在js代码,我们写函数php_function(func_name, arguments)

说法func_name是PHP函数名

说法arguments是PHP函数参数

例如我们需要在javascript中使用php的函数base64_encode()

这是js代码:

$(document).ready(function() { 


    function php_function(func_name, arguments) { 

     var result; 
     $.ajax({ 

      url: //url to php file, 
      type: "POST", 
      async: false, 
      data: {f_name: func_name, args: arguments}, 
      success: function (htm) { 

       result = JSON.parse(htm) 

      } 

     }); 

     return result; 

    } 


    var arguments = ["OTO"]; 

    alert(php_function("base64_encode", arguments)); // T1RP 



}); 

,这是php:

echo json_encode(call_user_func_array($_POST['f_name'], $_POST['args'])); 

可能是此方法将有用...

+2

这是一个问题?无论如何,你应该看看[PHPJS](http://phpjs.org)。 – 2013-03-09 19:53:45

+4

为了您的安全如此危险,所有用户都可以调用一些php恶意代码 – Sam 2013-03-09 19:55:19

+0

@Kolink不,这不是问题。这可能是解决方案...我知道'PHPJS',但这里每个函数都有自己的不小代码。在这个解决方案中,我们只需要更改函数名称和参数,并获得结果。 – RIKI 2013-03-09 20:09:42

回答

1

问题的发言是有点不好,或许会问:这种方法有什么问题吗?

答案是:是的,这太可怕了。你刚刚在你的系统中插入了一个巨大的安全漏洞。

+0

好了,明白了 – RIKI 2013-03-09 20:39:44