【问题标题】:A secure way for a PHP variable to be used in JavaScript在 JavaScript 中使用 PHP 变量的安全方法
【发布时间】:2016-03-21 10:49:46
【问题描述】:

我的代码如下(简化):

$items_per_view = 5;
$items_per_scroll = 1;

$script = "<script type='text/javascript'>
                jQuery( document ).ready( function($) {         
                    $(document).ready(function() {                            
                       $('#$uniqid').slick({                      
                          slide: 'li',
                          slidesToShow: $items_per_view,
                          slidesToScroll: $items_per_scroll,                     
                        });                 
                    });
                }
             );
            </script>";     

    $output .= $script;

现在我已经阅读了很多关于使用 转义属性 作为最佳实践的内容。但是,当我尝试使用 json_encode( $items_per_view )esc_js( $items_per_view ) 时,它停止工作,并且在 Chrome 中我看到一条消息说“json_encode 未定义”。我也尝试过使用wp_json_encode,但也没有用。

非常感谢任何帮助。 :)

【问题讨论】:

  • 请分享所有代码;
  • 那么您究竟想要保护什么?将数字按原样放入 JS 是安全的。
  • 其实我简化了代码。 $items_per_view实际上是一个redux(框架)字段。但似乎他们所有的字段都被自动清理了。所以看到它像这样是安全的,我们会保持这种状态。 :)

标签: javascript php security


【解决方案1】:

您需要为 PHP 安装 JSON mod extension

根据你的操作系统和安装类型,谷歌一下安装过程。

【讨论】:

  • 我在 Wordpress 上,所以即使不安装 JSON 也应该可以。
  • 这与 Wordpress 无关。这是关于 wordpress 运行所需的 PHP 扩展。 Wordpress 3.3.1 需要:JSON - 20 使用可选,wp-includes/compat.php 中的回退
  • 另外你可以运行 检查状态。
猜你喜欢
  • 1970-01-01
  • 2015-06-12
  • 1970-01-01
  • 2011-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-16
相关资源
最近更新 更多