网站实现搜索引擎来路语音播报

主要的PHP代码:

<?php
/**
 * 获取网站来路并分析
 * @author Xiaobai <admin@xiaobaibk.com>
 * @time   2018年6月27日
 * @param  string $referers 自定义ua
 * @return strting/bool     输出获取到的来路
 */
function get_referer($referers=''){
    // 更改为自己的网址
    // 避免来路重复
    $localhost = 'www.xiaobaibk.com';
    /*获取网站来路*/
    $referer = $referers ? $referers : $_SERVER['HTTP_REFERER'];
    if(!$referer){
        return false;
    }

    /*获取网站host*/
    $str = parse_url($referer);
    if (!$str['host']||$str['host']==$localhost) {
        return false;
    }
    $url = $str['host'];

    /*关键词判断类型*/
    if(strpos($url,'baidu') !== false){
        $url_str = '百度搜索';
    }elseif (strpos($url,'sogou') !== false) {
        $url_str = '搜狗搜索';
    }elseif (strpos($url,'sm') !== false) {
        $url_str = '神马搜索';
    }elseif (strpos($url,'bing') !== false) {
        $url_str = '必应搜索';
    }elseif (strpos($url,'google') !== false) {
        $url_str = '谷歌搜索';
    }elseif (strpos($url,'so') !== false) {
        $url_str = '360搜索';
    }elseif (strpos($url,'easou') !== false) {
        $url_str = '宜搜搜索';
    }elseif (strpos($url,'yahoo') !== false) {
        $url_str = '雅虎搜索';
      }elseif (strpos($url,'xiaobaibk') !== false) {
        $url_str = '安全之家';
    }else{
        /*如果以上都找不到则使用来路域名并截取字数*/
        if (strlen($url)>5) $url_str=substr($url,0,10) . '...';
    }
    return $url_str;
}
?>

百度的语音播报接口:

https://fanyi.baidu.com/gettts?spd=5&source=web&lan=zh&text=等于要发音的内容

PHP调用:

<?php echo get_referer();?>

以下用Js写的,不知道可不可以,你们试试看,实现的方法很多,自己写吧

<script>
  window.onload=function(){
  var audio=document.createElement('audio');
  var url="https://fanyi.baidu.com/gettts?spd=5&source=web&lan=zh&text="; 
  var str=url+"欢迎来自<?php echo get_referer();?>的朋友访问小白安全博客";
            audio.src=str;
            document.body.appendChild(audio);
    audio.play();
  }
</script>
发表评论 / Comment

用心评论~

金玉良言 / Appraise
F鳥ゎy升哥LV 1
2019-11-16 15:06
有个bug,站内打开也会播报
头像
奶糖味的代言站长已认证
2019-11-16 18:20
@F鳥ゎy升哥:具体的代码还是需要你自己改的
搜推网站长LV 1
2019-07-19 14:03
网站漏洞这些很危险的了