仅当设置了正确的url时才允许使用PHP页面
我正试图找出如何仅在PHP索引与我输入的URL匹配时才允许它,类似这样: 例如,如果您将URL仅当设置了正确的url时才允许使用PHP页面,php,html,Php,Html,我正试图找出如何仅在PHP索引与我输入的URL匹配时才允许它,类似这样: 例如,如果您将URLsite.com/myfile.php放入,我想显示404错误之类的消息 但是,如果您将site.com/myfile.php?=123放入以显示页面内容 您可以运行一个条件语句来查找请求信息,我会使用?page_id=123使其具体化 <?php if ( $_REQUEST AND isset($_REQUEST['page_id']) ) { // SHOW PAGE CONTEN
site.com/myfile.php
放入,我想显示404错误之类的消息
但是,如果您将
site.com/myfile.php?=123
放入以显示页面内容 您可以运行一个条件语句来查找请求信息,我会使用?page_id=123使其具体化
<?php
if ( $_REQUEST AND isset($_REQUEST['page_id']) )
{
// SHOW PAGE CONTENT
}
else
{
// RETURN 404
}
?>
您可以运行一个条件查找请求信息,我会使用?page_id=123使其具体化
<?php
if ( $_REQUEST AND isset($_REQUEST['page_id']) )
{
// SHOW PAGE CONTENT
}
else
{
// RETURN 404
}
?>
您必须测试
$\u获取
参数
if (!$_GET) {
echo "404 Error"; //or redirect using header();
} elseif ($_GET['key'] == 'value') {
//code here
}
我看到您正在使用?=123,我不是100%确定这是否有效,但在URL中有键=>值关联更容易(IMO)。您必须测试
$\u获取
参数
if (!$_GET) {
echo "404 Error"; //or redirect using header();
} elseif ($_GET['key'] == 'value') {
//code here
}
我知道您使用的是?=123,我不是100%确定这是否有效,但在URL中使用key=>值关联更容易(IMO)。只需比较字符串即可
if (@$_GET['secret'] != 'mysecret'){
header('location: noaccess.php'); //redirect the user to access denied page.
die(); // terminate the script. A
}
// The rest of the page
或者将所有内容保存在一个文件中:
if ((isset($_GET['secret'])) && ($_GET['secret'] == 'mysecret')){
// Show the page
} else {
// Show an error message
}
只需比较一个字符串,site.com/myfile.php?secret=mysecret
if (@$_GET['secret'] != 'mysecret'){
header('location: noaccess.php'); //redirect the user to access denied page.
die(); // terminate the script. A
}
// The rest of the page
或者将所有内容保存在一个文件中:
if ((isset($_GET['secret'])) && ($_GET['secret'] == 'mysecret')){
// Show the page
} else {
// Show an error message
}
site.com/myfile.php?secret=mysecret我认为当某人访问的页面确实存在时,将其发送到404可能被认为是不好的做法,因为他们缺少的只是一个变量 首先,我希望看到类似的东西
site.com/myfile.php?variablename=123
相反
如果您确实想要,可以在文件顶部添加:
if(!isset($_GET['variablename']){
header('location:404.php');
}
其中404.php是您希望用户看到的404文件
希望这能有所帮助?我认为,当某人访问的页面确实存在时,将其发送到404可能被认为是一种不好的做法,因为他们缺少的只是一个变量 首先,我希望看到类似的东西
site.com/myfile.php?variablename=123
相反
如果您确实想要,可以在文件顶部添加:
if(!isset($_GET['variablename']){
header('location:404.php');
}
其中404.php是您希望用户看到的404文件
希望有帮助?这应该足够满足您的需要了。如果有其他要求,请告知我们
if(!isset($_GET)){
//do whatever you want to validate the get input provided.
} else {
header("HTTP/1.0 404 Not Found");
}
这应该足以满足您的需要。如果有其他要求,请告知我们
if(!isset($_GET)){
//do whatever you want to validate the get input provided.
} else {
header("HTTP/1.0 404 Not Found");
}
首先,这个?=123可能是个问题,因为当传递?=123时,它应该存储在某个地方,它可能是这样的?uid=123,然后通过get方法在变量中检索它,然后检查它的值,并相应地重定向用户。 你可以这样做
if(isset($_GET['uid']))
{
refresh(to whatever location you want);
}
else
refresh(to some other location);
但是,如果您想要错误404,那么根据我的说法,这是不可能的,因为值将被发送到一个存在的页面,如果该页面存在,则服务器无法给出“未找到”错误。首先,这可能是一个问题,因为当传递?=123时,它应该存储在某个地方,它可能是这样的?uid=123,然后通过get方法在变量中检索它,然后检查它的值并相应地重定向用户。 你可以这样做
if(isset($_GET['uid']))
{
refresh(to whatever location you want);
}
else
refresh(to some other location);
但是,如果您希望出现404错误,那么根据我的说法,这是不可能的,因为这些值将被发送到一个存在的页面,如果该页面存在,则服务器无法给出“未找到”错误。只需检查是否有GET参数,以及是否有GET参数“不要发布任何错误消息。是您的朋友。只需检查是否有任何GET参数,以及是否有任何post错误消息。是您的朋友。这对我很有帮助,但您能否告诉我所有ID的“mysecret”如何,因为我的文件中有很多ID,例如:if(@$\u GET['secret']!='*'){header('location:noaccess.php'));//将用户重定向到访问被拒绝的页面。die();//终止脚本。A}和*代表所有代码。然后,您应该删除$\u GET secret的比较,只需检查它是否由访问者设置。例如,if(isset($\u GET['secret]]){//access grated els{//no access}这对我有帮助,但你能告诉我“mysecret”是如何设置的吗“对于所有ID,因为我的文件中有很多ID,例如:if(@$_GET['secret']!='*”){header('location:noaccess.php');//将用户重定向到访问被拒绝的页面。die();//终止脚本。a},*是所有代码。然后,您应该删除$\u GET secret的比较,并检查它是否由访问者设置。比如if(isset($\u GET['secret']){//access-grated}或者{//no-access}