gpt4 book ai didi

php - 如何从 php 中检测被阻止的地址

转载 作者:可可西里 更新时间:2023-11-01 01:08:49 26 4
gpt4 key购买 nike

所以这是我的问题;我们正在尝试在我们的网站上设置 facebook like 和 twitter tweet 按钮,但是当 facebook 和 twitter 在他们的计算机上被阻止时,这会导致浏览器变得无响应。所以我想做的是检测 facebook 或 twitter 是否被阻止,然后删除这些计算机的按钮,同时允许所有其他计算机加载它们。

这在 php 或 javascript 中可行吗?

我无法找到有关测试链接是否被阻止的任何信息。

最佳答案

您可以在页面上放置两个隐藏图片,然后动态添加喜欢按钮。
这样的事情应该有效:

<img style="display:none;"
onload="user_can_access_facebook()"
onerror="no_access_to_facebook()"
src="http://static.ak.fbcdn.net/rsrc.php/v1/yp/r/kk8dc2UJYJ4.png" />

javascript 函数 user_can_access_facebook() 应将点赞按钮添加到 DOM。

(http://static.ak.fbcdn.net/rsrc.php/v1/yp/r/kk8dc2UJYJ4.png 是登录页面上 Facebook Logo 的 URL。这可能不是静态链接,因此您可能需要找到一些其他静态资源来检查。)

对于 Twitter,您也应该这样做。

编辑:
我整理了一个小型 POC:

<html>
<head>
<script language="javascript" type="text/javascript">
function user_can_access(sitename) {
var siteDiv = document.getElementById(sitename + '_access');
siteDiv.innerText = "You have access to " + sitename;
}

function no_access(sitename) {
var siteDiv = document.getElementById(sitename + '_access');
siteDiv.innerText = "You do NOT have access to " + sitename;
}
</script>
</head>
<body>
<img src="http://static.ak.fbcdn.net/rsrc.php/v1/yp/r/kk8dc2UJYJ4.png"
onload="user_can_access('Facebook')"
onerror="no_access('Facebook')"
style="display:none;" />
<img src="http://support.twitter.com/images/twitter-logo-no-bird.png"
onload="user_can_access('Twitter')"
onerror="no_access('Twitter')"
style="display:none;" />

<div id="Facebook_access"></div>
<div id="Twitter_access"></div>
</body>
</html>

要在本地尝试,只需阻止对上面相应域的访问(static.ak.fbcdn.net 和 support.twitter.com)。
如前所述,您可能需要查找一些其他静态资源以进行检查。如果 facebook 和 twitter 上图片的 url 发生变化,那么您也必须在代码中进行更改。

关于php - 如何从 php 中检测被阻止的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5825502/

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