我是虚拟主机windows系统!不会设置太复杂的
第一个问题
怎样php实现仅允许指定的域名访问,别的域名显示特定的内容,且不能浏览器直接输入网址访问,(我的域名带https的)
主要针对企业微信的文档中的链接
例如:(https://doc.weixin.qq.com/doc/w3_AYAArQYvAGc3Na331snSqiR5yv70O?scode=AKQACQcuABINxJSjV0)
或者是判断来源网页的唯一url,只能这个url访问本页面
还有一个问题
怎样将很多网址链接加密传递给一个php文件解密跳转原url
列如:将很多网盘的链接,和提取码,加密成rul,然后指定链接到自己服务器上的某个php文件上,然后这个php文件呈现复制提取码框,和加密链接,点加密链接跳转至网盘原链接
还有一个问题
怎样将很多文件提取指定的内容合并成一个文件,其中包括txt,woed,html,包括文件名的提取,
谢谢帮助,私信红包,我是虚拟主机windows系统不会设置太复杂的!超白!请给成品代码!我只会复制粘贴,谢谢
好的,对于您的问题,我尽可能详细地回答:
您可以在php文件的开头添加以下代码来获取访问的域名:
$host = $_SERVER['HTTP_HOST'];
然后,您可以根据获取到的域名进行判断,只有当域名符合规定时才输出正常的内容,否则输出特定的内容(可以是一个提示信息页面或者一个重定向页面)。
if(strpos($host, "yourdomain.com") !== false) {
// 输出正常内容
} else {
// 输出特定内容,如提示信息页面或重定向页面
}
如果您还想防止通过浏览器直接输入网址访问,可以在代码中加入以下内容:
$referer = $_SERVER['HTTP_REFERER'];
if(empty($referer)) {
// 输出特定内容或重定向到指定页面
}
这样就会判断请求的来源是否为空,如果为空,就会输出指定的内容或重定向到指定页面。
您可以在前端将链接加密后发送到后台,然后后台将加密后的信息解密并跳转到指定链接。
前端加密代码:
function encryptLink(url, code) {
var encrypted_url = encodeURIComponent(btoa(url));
var encrypted_code = encodeURIComponent(btoa(code));
var link = 'http://example.com/redirect.php?url=' + encrypted_url + '&code=' + encrypted_code;
return link;
}
将 http://example.com/redirect.php
替换为您的PHP文件路径。
后台代码:
$encrypted_url = $_GET['url'];
$encrypted_code = $_GET['code'];
$url = base64_decode(urldecode($encrypted_url));
$code = base64_decode(urldecode($encrypted_code));
if($code == "yourcode") {
header("Location: " . $url);
exit();
} else {
// 验证码错误的提示信息
}
这样,当 $code
与指定的验证码匹配时,就会跳转到加密后的链接。
您可以使用 file_get_contents
函数读取每个文件的内容并将其合并,然后将合并后的内容写入到一个新文件中。以下是一段示例代码:
$files = ["file1.txt", "file2.html", "file3.docx"];
$mergedContent = "";
foreach($files as $filename) {
$content = file_get_contents($filename);
if($content !== false) {
$mergedContent .= $content;
}
}
if(!empty($mergedContent)) {
$fp = fopen("merged_file.txt", "w");
fwrite($fp, $mergedContent);
fclose($fp);
}
上面的代码将多个文件的内容读取出来,再合并成一个字符串,最后写入到一个新文件 'merged_file.txt' 中。您可以修改文件名和路径以适应您的需求。
以上是符合您的需求的代码,但请注意,有些代码需要根据您的具体情况进行修改。同时,也需要注意到,由于这些代码是通过文字方式提供的,可以出现一些小的错误,建议您仔细检查代码,并在测试之前备份好您的文件和数据。