php - 将参数从服务器端 PHP 传递到客户端 JavaScript 的最安全方法是什么

标签 php javascript symfony1

<分区>

在我的应用程序中,我严重依赖 JavaScript 来增强用户界面,但所有数据都来自数据库并由 PHP 处理。默认情况下,我使用“echo”语句“及时”替换所需的值,如下所示:

var myVariable = <?php echo $myVariableInPHP ?>

然而,这并没有让我觉得非常优雅,我担心此类代码的稳定性和可维护性。

我有其他选择吗?

对于服务器端,我使用的是 Symfony 1.4 PHP 框架。

谢谢,

最佳答案

我最喜欢的方式是:

<?php

$var = array(
  'prop1' => 'value1',
  'prop2' => 'value2',
  // ...
);

?>
<script type="text/javascript">
   var varNameSpace = <?php echo json_encode($var); ?>;

   alert( varNameSpace.prop1 ); // -> 'value1'
</script>

使用 json_encode() 确保传递给 Javascript 的值被转义并且格式正确。使用公共(public)变量容器还可以防止过度使用全局空间(窗口)。

关于php - 将参数从服务器端 PHP 传递到客户端 JavaScript 的最安全方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3613186/

相关文章:

javascript - 将元素固定到位以进行垂直滚动而不是水平滚动

Javascript 不遵守 Firefox 中的样式更改

php - 我可以将 Facebook 的 hiphop 与 Zend Framework、cakephp、symfony 等框架一起使用吗

php - 获取数组的最后一个元素以从中删除逗号

c# - 将本地 mssql 数据库移动到 web 托管的 MYSQL

php - 在 div 中将特色图片设置为背景

php - 将 Symfony 1.4 sfGuardUser 表与 Symfony 2 SecurityBundle 一起使用?

php - MySQL:根据二进制权限选择导航项

javascript - 处理返回的 Promise 中的异常

symfony1 - 有没有更好的学习symfony 1.4的教程?