首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在php中结束js代码,并使用自定义查询调用php。

在php中结束js代码,并使用自定义查询调用php。
EN

Stack Overflow用户
提问于 2011-06-04 08:05:51
回答 1查看 596关注 0票数 0

我正在构建一个使用Piwik的web应用程序。Piwik是一个开源的分析工具,类似于。

它给出了类似于下面提到的跟踪代码。

代码语言:javascript
复制
<!-- Piwik --> 
    <script type="text/javascript">
    var pkBaseURL = (("https:" == document.location.protocol) ? "https://example.com/" : "http://example.com/");
    document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
    </script><script type="text/javascript">
    try {
    var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 1);
    piwikTracker.trackPageView();
    piwikTracker.enableLinkTracking();
    } catch( err ) {}
    </script><noscript><p><img src="http://example.com/piwik.php?idsite=1" style="border:0" alt="" /></p></noscript>
<!-- End Piwik Tracking Code -->

下面的代码是站点的代码,其站点id为1.检查代码中的下列行。

代码语言:javascript
复制
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 1);

<noscript><p><img src="http://example.com/piwik.php?idsite=1" style="border:0" alt="" /></p></noscript>

我网站的用户将登录到自定义管理面板,并将获得该网站的跟踪代码。

现在我需要隐藏追踪代码。所以,我认为我把它保存在一个php脚本中。类似于这里的一个

代码语言:javascript
复制
<?php
  // Custom-made Analytics Script
  // File Name: custom.php

  $site_id = isset($_GET['id'])?$_GET['id']:0;
?>

<!-- Piwik --> 
    <script type="text/javascript">
    var pkBaseURL = (("https:" == document.location.protocol) ? "https://example.com/" : "http://example.com/");
    document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
    </script><script type="text/javascript">
    try {
    var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", <?php echo $site_id; ?>);
    piwikTracker.trackPageView();
    piwikTracker.enableLinkTracking();
    } catch( err ) {}
    </script><noscript><p><img src="http://example.com/piwik.php?idsite=<?php echo $site_id; ?>" style="border:0" alt="" /></p></noscript>
<!-- End Piwik Tracking Code -->

如您所见,我已经用PHP变量替换了JavaScript中的site-id,我将使用$_GET获取该变量。

现在,我将向我的用户提供如下的JavaScript代码,他们将放在他们的网站。

代码语言:javascript
复制
<script type="text/javascript">
    var pkBaseURL = (("https:" == document.location.protocol) ? "https://example.com/" : "http://example.com/");
    document.write(unescape("%3Cscript src='" + pkBaseURL + "custom.php?id=1' type='text/javascript'%3E%3C/script%3E"));
</script>

我的问题是,这个剧本会有下降点,还是会在任何地方崩溃?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-04 08:14:42

我在这里看到两个问题:

  • 如果javascript被禁用,piwik将不再注册这些访问者,因为您只使用JS
  • --您的custom.php容易受到XSS的攻击。如果您想保留它,请替换:

$site_id =isset($_GET‘’id‘)?$_GET’‘id’:0;

通过以下方式:

$site_id = (int)filter_input(INPUT_GET,'id');

仅允许数字输入。

除非您计划更改此代码,否则只需提供带有硬编码ID的静态代码。

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

https://stackoverflow.com/questions/6235575

复制
相关文章

相似问题

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