安全或不安全的URL PHP检查

时间:2015-02-28 11:32:34

标签: php

如果用户被重定向到

,我会尝试创建一个脚本

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

脚本会在URL处做出反应,并显示一条“不安全”的回音,就像Twitter和Google系统一样,他们也会检查网址是否有害。

我找到了一些东西,但这不是我所追求的东西。谷歌无法帮助我,它给了我所有模糊的答案。

<?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";
}
?>

我试过了,但它仍然无效:(

让我更轻松地提出问题,如果网址是

,我怎么能这样做呢?

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

页面上会有“这是texthere页面”的回显,如果“Texthere”不在URL中,那么回显将不显示?

1 个答案:

答案 0 :(得分:1)

更改$ host变量和if语句:

$host = "http://". $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];

if($host != $badsite) {
echo "Secure, redirecting you";
}

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