我们知道可以使用JSON和回调来查找访问者的IP,如此处所示我可以使用客户端Javascript执行DNS查找(主机名到IP地址)吗?以及http://news.ycombinator.com/item?id=1896015 - 但是对于用户代理来说类似的事情呢?
我正在尝试建立一个条件系统,以编程方式检测浏览器(使用USER_AGENT字符串)和平台(使用PHP-Mobile-Detect).我目前的设置大致如下:
<DOCTYPE html>
<html>
<head>
<?php
include("Mobile_Detect.php");
$detect = new Mobile_Detect();
?>
<?php if($detect->isiPad()) {
echo '<link rel="stylesheet" href="/style/iPad.css" type="text/css">';
}
else
{
echo '<meta charset="UTF-8">
<link rel="stylesheet" href="/style.css" type="text/css">;
if (strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome') !== false)
{
echo '<link rel="stylesheet" href="../style/splash-webkit.css" type="text/css">';
}
//and so on for other browsers
[etc]'
}
Run Code Online (Sandbox Code Playgroud)
这里出现的明显问题是's 之间的冲突.正如我希望的那样,echounder else,而不是在我的<style>标签的末尾结束,首先'出现在代码中,因为它是在第一个USER_AGENT声明中.我该如何绕过这个问题?
我试图将用户重定向到另一个页面,如果他们使用Internet Explorer但这个代码不重定向它,它正常加载页面即ie
我尝试了不同的MSIE变体,但似乎没有任何效果
session_start();
if (strpos($_SERVER['HTTP_USER_AGENT'], '/MSIE/i') !== false){
header('Location: /ie.php');
die();
}else{
echo "User Agent not recognised.";
}
Run Code Online (Sandbox Code Playgroud)
有人有主意吗?
您好我想问一下如何添加到此代码行自定义引用信息,因为我尝试添加用户代理后但没有工作谢谢.
webBrowser1.Navigate("http://yoursite.com", "_self", null, "User-Agent: Custom User Agent string");
Run Code Online (Sandbox Code Playgroud) 我目前正在为客户开发一个新网站,该网站在该网站上存储个人信息和信用卡信息。因此,安全对我来说是一个大问题。这是我建立的第一个包含敏感信息的网站,所以我对整个主题不是很熟悉。
该站点使用会话管理用户。但是,我发现很难保证会话的安全。我想实现一个用户代理检查,在每次加载页面时检查浏览器。这样,当我将会话 ID 复制到我的“攻击者”浏览器上手动创建的 cookie 中时,服务器将检测到用户代理更改(从 Chrome 到 Firefox)并拒绝会话。
我的问题是,如果我在每次加载页面时都执行此检查,我是否会冒着注销合法用户的风险?真正的用户是否有理由在页面之间更改他们的用户代理?如果是这样,这种情况发生的可能性有多大?很可能我应该完全放弃这种方法,还是可以接受的风险?
编辑:cookie 设置为在浏览器关闭后立即过期。此外,登录时设置的用户代理存储在会话中,并在附加盐后进行散列。
我有一个 Wordpress 网站,想向具有指定用户代理的用户显示指定的内容。这是我所做的:
<?php
$user_agent = $_SERVER['HTTP_USER_AGENT'];
if (strpos( $user_agent, 'CostumizedAgent') !== false)
{
echo "<html><body>Show Only this codes</body></html>
}
else
{
// Show normal website
}
?>
Run Code Online (Sandbox Code Playgroud)
在用户代理不包含CostumizedAgent单词的情况下,将向用户显示普通网站(普通的 wordpress 网站),但如果包含单词,CostumizedAgent它只会向用户回显指定的 HTML 代码。我用这个来创建一个简单的秘密内容!(我知道这不是应该做的:D)
所以我该怎么做?我必须放置哪些代码else?我应该把所有代码放在哪里?(在网站的所有页面上)
当我们从IOS手机打开LinkedIn应用程序时,添加的用户代理字符串是什么。我想使用用户代理字符串从IOS检测LinkedIn应用程序,这是可以实现的。LinkedIn应用程序是否有针对不同设备的唯一用户代理字符串
我试图User-Agent在我的HTTP请求中添加一个头(在Ruby中),但不确定用户代理字符串的格式.这是它在Perl中的定义方式:
use LWP::UserAgent;
my $ua = new LWP::UserAgent(keep_alive=>1);
$ua->credentials($netloc, '', "$user", "$pwd");
Run Code Online (Sandbox Code Playgroud)
如果我尝试print $ua;,我会得到一个每次都改变的哈希值.我相信在Ruby中我应该将凭证嵌入到单个字符串中.我怎么知道如何格式化这个字符串?或者,如何成功打印$uaPerl中的内容?
Ruby代码:
http = Net::HTTP.new("your.site.com", 80)
req = Net::HTTP::Get.new("/path/to/the/page.html", {'User-Agent' => 'your_agent_here'})
response = http.request(req)
我有一个 MVC 5 应用程序,其后端是 Web API。对于对服务器的每个请求,我需要提供用户代理,我可以在控制器操作方法中获取它,var UserAgent = Request.UserAgent.ToString();然后在其他类中传递,例如(Controller => Service => HttpRequester => XXXHttpClient ),最后在XXXHttpClient类中的实际请求中使用但我认为可能有更好的方法来实现同样的目标。我尝试用谷歌搜索,但没有找到任何相关内容,所以如果我想直接在 XXXHttpClient 类中获取用户代理而不是随后传递,任何人都可以指导我什么是最佳实践。
我想要来自用户代理的操作系统名称、操作系统版本、浏览器名称、浏览器版本和设备。如何在 Angular 4 的应用程序中使用用户代理解析器 js。我尝试了 ng2-device- detector@1.0.0 但它没有返回我的操作系统版本和设备。请帮我
在我的项目中,我从亚马逊抓取数据。我将其部署在 Pythonanywhere 上(我使用付费帐户)。但是有一个问题,当我在 Pythonanywhere 上尝试时,代码(我使用的是 BeautifulSoup4)无法获取网站的 html。它获得了亚马逊的“出问题了”网站。但在我本地它工作得很好。我认为它与用户代理有关。在我的本地,我使用我自己的用户代理。部署时我应该使用哪个用户代理?我该如何解决这个问题?
这是我的代码:
URL = link ##some amazon link
headers = {"User-Agent": " ##my user agent"}
page = requests.get(URL, headers=headers)
soup1 = BeautifulSoup(page.content, 'html.parser')
soup2 = BeautifulSoup(soup1.prettify(), "html.parser")
Run Code Online (Sandbox Code Playgroud)
有什么办法可以在 Pythonanywhere 上做到这一点吗?
user-agent ×11
php ×4
c# ×2
javascript ×2
angular ×1
browser ×1
conditional ×1
echo ×1
httprequest ×1
nested ×1
perl ×1
python ×1
redirect ×1
referer ×1
ruby ×1
security ×1
session ×1
ua-parser ×1
web-scraping ×1
wordpress ×1