安全或不安全的URL PHP检查


Secure or not secure URL PHP check

如果用户被重定向到,我会尝试制作一个脚本

http://example.com/?url=http://badsite.com

脚本对URL做出反应,并显示一个回声,说"不安全",就像推特和谷歌系统一样,他们也会检查URL是否有害。

我找到了一些东西,但这不是我想要的。谷歌帮不了我,它给了我所有模糊的答案。

<?php
$badsite = "http://badsite.com";
$host = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if($host == $badsite) {
    echo "Secure, redirecting you";
} else {
    echo "NOT SECURE";
}
?>

它不能正常工作,它总是显示"不安全",而链接是安全的。我认为某个地方有错误,但我需要帮助澄清。

编辑

<?php
$badsite = "http://badsite.com";
$host = $_GET['url'];
if($host == $badsite) {
    echo "Secure, redirecting you";
} else {
    echo "NOT SECURE";
}
?>

我试过了,但还是没用

让我把这个问题简单一点,如果url是,我该如何做

http://example.com/?url=Texthere

页面上会有一个带有"this is the page of texthere"的回显,如果URL中没有"texthere",回显将不会显示?

更改$host变量和类似的if语句:

$host = "http://". $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if($host != $badsite) {
echo "Secure, redirecting you";
}

这对我来说很好(测试)。您需要在变量中包含http://,并且if语句是错误的。