gpt4 book ai didi

PHP HTTP_User_Agent,将访问者重定向到移动页面,网站性能下降

转载 作者:行者123 更新时间:2023-11-30 23:33:12 24 4
gpt4 key购买 nike

我们正在开发我们网站的移动版本。

一些程序员将这段代码放在我们正常的非移动页面上。结果是我们的网站开始运行非常缓慢并且出现错误。

我认为新的移动页面可能有一些错误的代码导致了问题,但我想知道放在我们现有页面上的代码片段是否有问题。

这是:

<?php
$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");
$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");

if ($iphone || $android || $palmpre || $ipod || $berry == true)
{
header('Location: http://m.site.com/index.php?id='.$HTTP_GET_VARS["id"]);
//OR
//echo "<script>window.location='http://mobile.site.com'</script>";
}

我们托管公司的某个人建议代码可能应该在 if 语句末尾使用“===”而不是“==”。

代码看起来有问题吗?

一如既往的感谢。

最佳答案

首先,我建议你重写:

  1. 避免 PHP 打印 HTML 标签(旨在解决此问题的替代 PHP 语法!)
  2. 使用 header 重定向和正则表达式。

//this function just detects device:
function detect_dev(){
$devices = array();
$devices['iPhone'] = 'iPhone';
$devices['Android'] = 'Android';
// add more

foreach ($devices as $device => $name){
if (preg_match("/$device/", $_SERVER['HTTP_USER_AGENT']){
//ok, dev detected, return it's name
return $name;
}
}

function redirect_sp_dev(){
$device = detect_dev();

// If it's not empty(mean device detected), do redirect:
if (!$device){
redirect('your url with $device var');
}
}

此外,还有一些其他注意事项,您的 URL 是错误的,因为我看到了它,而且我已经知道如何破解您的网站。阅读 XSS。

不要使用 $HTTP_GET_VARS。不要使用 $_REQUEST

改用$_GET$_POST

  1. 我建议您通过 mod_rewrite 重写 url。做吧。这很容易。
  2. 不要将所有内容都放入 INDEX 文件中。
  3. 阅读 MVC 和 PHP

关于PHP HTTP_User_Agent,将访问者重定向到移动页面,网站性能下降,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9541857/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com