Struts2下如何获取Referer头?现在我正在使用 ActionSupport 类,但似乎无法获得 ServletActionContext 对象或实现 ServletRequestAware 接口?(Struts2 中的 ServletRequestAware 在哪里?哪个 jar?)
我正在尝试设置自动重定向到存储在会话变量中的页面引用者。当有人请求 OAuth 身份验证时,我将引用者存储在会话中,然后将它们发送到 Twitter。当他们单击允许时,twitter 会将它们发送到我的 OAuth 回调 url。我确实在那里工作(持久访问令牌),然后想将它们发送给我存储在他们会话中的引用者。
正如我确定您可以说的那样,我对 Struts 非常陌生。我花了三个多小时阅读Java文档,谷歌搜索和其他方式试图避免怒气向我小白畏缩
谢谢!
我正在尝试使用cURL和PHP来下载此处的HTML源代码(如浏览器中所示).但不是实际的源代码,而是返回(元刷新链接设置为0).
<html>
<head><title>Object moved</title></head>
<body>
<h2>Object moved to <a href="https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=11&checkda=1&ct=1321044850&rver=6.1.6195.0&wp=MBI&wreply=http:%2F%2Fwww.windowsphone.com%2Fen-US%2Fapps%2Fea39f002-ac30-e011-854c-00237de2db9e&lc=1033&id=268289">here</a>.
</h2>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我试图欺骗引用标题作为网站,但似乎我做错了.代码如下.有什么建议?谢谢
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.windowsphone.com/en-US/apps/ea39f002-ac30-e011-854c-00237de2db9e');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.6 (KHTML, like Gecko) Chrome/16.0.897.0 Safari/535.6');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_AUTOREFERER, false);
curl_setopt($ch, CURLOPT_REFERER, "http://www.windowsphone.com/en-US/apps/ea39f002-ac30-e011-854c-00237de2db9e");
$html = curl_exec($ch);
curl_close($ch);
Run Code Online (Sandbox Code Playgroud) 是否可以仅接受来自一个域的流量(最好使用 .htaccess 文件)?我希望我的网站只能通过我拥有的另一个网站上的链接访问。
我知道如何阻止一个引用域,但不是所有域
RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} otherdomain\.com [NC]
RewriteRule .* - [F]
Run Code Online (Sandbox Code Playgroud)
这是我的完整重写代码:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} .
RewriteCond %{HTTP_REFERER} !domain\.co.uk [NC]
RewriteRule .? - [F]
# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)
我认为它可以工作,但是没有任何资源被加载,当我单击另一个链接时,我收到 500 错误。
这是浏览器的预期行为吗?
https://code.google.com/p/chromium/issues/detail?id=492761
为 Chrome创建一个空扩展程序
将 newtab 覆盖放入manifest.json:"chrome_url_overrides": {"newtab": "newtab.html"}
create newtab.html( chrome-extension://<extension_id>/newtab.html),创建一个 iframe 并向其中加载一些页面,例如https://<some_page>.com/
添加指向该页面的链接,例如https://example.org/
应存在“Referer”标头,例如:
GET / HTTP/1.1
Host: example.org
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.65 Safari/537.36
Referer: https://<some_page>.com/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,de;q=0.6,ru;q=0.4
Cookie: ...
Run Code Online (Sandbox Code Playgroud)
没有“Referer”标头:
GET / HTTP/1.1
Host: example.org
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 …Run Code Online (Sandbox Code Playgroud) 是否可以在 FastAPI 中获取请求来源的 URL?
例如,如果我有一个在 处请求的端点,api.mysite.com/endpoint并且从 向该端点发出请求www.othersite.com,有没有办法可以在我的端点函数中检索字符串“www.othersite.com”?
我在Apache服务器上设置了一些重定向.他们看起来像这样:
重定向/名称/注册/login.html
我的问题是这个...无论如何通过这个重定向保留HTTP Referrer?似乎默认情况下,Apache会丢弃这些信息.我真的很喜欢它,如果重定向完成后推荐人说:
http://the.orginalurl.com/Name/register
任何人,如果这是可能的?如果没有,关于另类的想法.
非常感谢,尼尔
有没有一种直接的方法来使用Mechanize 2.3设置自定义标头?
我试过以前的解决方案,但得到:
$agent = Mechanize.new
$agent.pre_connect_hooks << lambda { |p|
p[:request]['Referer'] = 'https://wwws.mysite.com/cgi-bin/apps/Main'
}
# ./mech.rb:30:in `<main>': undefined method `pre_connect_hooks' for nil:NilClass (NoMethodError)
Run Code Online (Sandbox Code Playgroud) 我正在开发一个ASP.NET项目,目前正在进行一些攻击.基本上,我有三个不同级别的用户1.管理员2. DMV 3.来电
所有用户都有各自的目录,可以根据权限访问那些资源.当有人想登录应用程序时,他必须使用根目录中存在的相同login.aspx页面,登录后,他将被重定向到他各自文件夹的主页,基于他的特权.
在我的应用程序中,有时当会话不情愿地关闭时,用户被重定向到登录页面,或者他知道页面的完整URL并且只想使用作为查询传递的"Redirect_URL"变量快速登录并到达该页面字符串,他不能这样做.在他登录时,他被重定向到他的主页,这将使他再次做一些行动来到达他所在的页面.
因此,我需要login.aspx页面检查引用页面的URL,将其存储在查询字符串中,使用类似HTTP_REFERER的内容说"Redirect_url",一旦用户成功登录,他就会被重定向到页面,显示在页面中"Redirect_url"变量.
我也在某处找到了Global.asax解决方案但在我的情况下,我认为上面提到的逻辑最有效.
我为login.php页面所做的是,如果用户已登录,他将被重定向到first.php页面.
session_start();
if(isset($_SESSION['usr']) && isset($_SESSION['pswd'])){
header("Location: first.php");
}
Run Code Online (Sandbox Code Playgroud)
在所有其他页面中,如果用户尚未登录,则会将其重定向到login.php页面.
session_start();
if(!isset($_SESSION['usr']) || !isset($_SESSION['pswd'])){
header("Location: login.php");
}
Run Code Online (Sandbox Code Playgroud)
问题在于:有没有办法将用户重定向到他来自的地方?如果您在未登录时尝试访问second.php,则会立即将您重定向到login.php页面; 一旦你登录,你可以重定向回second.php而不是first.php吗?
我试过用$_SERVER['HTTP_REFERER'],但这个变量不包含任何东西; 它只包含一些东西,如果你在这里因为你点击了一个链接.
在nginx中,是否有一种方法允许只有具有与当前位置名称匹配的引用者的客户端访问"位置"?
这是场景:
等等
我希望bar.org位置的内容仅在引用者为bar.org时可用.zeta.net也是如此
我知道我可以"静态地"执行此操作,但是有很多这些位置,我需要找到一种方法来定义一个"动态"位置.
对不起,我的英语不好.
解
我这样解决了:
location ~/([a-zA-Z0-9\.\-]*)/* {
set $match "$1::$http_referer";
if ($match !~* ^(.+)::http[s]*://[www]*[.]*\1.*$ ) {
return 403;
}
}
Run Code Online (Sandbox Code Playgroud)