2010-05-21 131 views
-1

什么是“不”直接在php中显示页面的最佳方式?直接用PHP页面直接页面

编辑

,有一个页面= register.php 用户无法打开register.php直接。只能从index.php文件访问> Register.php 感谢

+4

你在问什么? – SLaks 2010-05-21 21:23:22

+1

你想要什么? – Gumbo 2010-05-21 21:23:31

+1

这是什么问题? – 2010-05-21 21:23:48

回答

2

任何包含敏感数据(例如数据库密码)的PHP文件都应该存储在文档根目录之外并包含在需要的地方。这样,如果管理员犯了严重错误,并且Web服务器开始发送未解析的PHP,则该数据将无法访问。

编辑

您编辑您的问题,现在看来,要防止访问页面没有他们从一个特定的页面来。您应该能够从这些问题的一些想法:

deny direct access to a php file by typing the link in the url

preventing direct access to a php page, only access if redirected

+0

文档根目录:/ UniServer/www 您的意思是说我们可以在WWW之外插入配置文件吗? 感谢您的帮助 – Felicita 2010-05-21 21:38:36

+0

@ Felicita:当然。然后在需要时使用'require'来插入它们。 http://us.php.net/manual/en/function.require.php http://us.php.net/manual/en/function.require-once.php – webbiedave 2010-05-21 21:41:54

+0

我知道这个ruquire并且包含函数。但我想知道“应该存储在文档根目录之外” 在example.com中是在www中,我们可以将它插入www之外。我是否在写? 我已经在www(主根)中包含了来自main.php的常量。我会改变这一点!谢谢 – Felicita 2010-05-21 21:47:59

1

你可以把

die(); 

exit(); 

在你的PHP文件的顶部。但是,你的问题不清楚你想要完成什么。

2

认为你想是这样的:

if ($_SERVER['HTTP_REFERER'] != 'http://YOUR_SITE/index.php') {                
    echo "Can't access this page from this referer";                    
    die();                              
}                                

// go on with your register.php code 
+3

只是为了补充,这很容易欺骗。但是,它会阻止大多数普通用户(没有恶意动机)。 – webbiedave 2010-05-21 21:40:20

1

可以在索引启动一个会话.php并检查其他页面中该会话的某个变量。

1

作出index.php文件中

它把

<?php 
include 'register235235235235.php'; 
?> 

使文件register235235235235.php无论你想在那里

至于确保PHP包括

放,我只保护包含用户名和密码的database.php文件。

+0

嗯...我不明白这一点。如果用户仍然可以访问index.php文件,那么混淆register.php文件的名称有什么意义? – nico 2010-05-21 21:53:48

+0

,因为register.php很容易猜到,但是用户看不到隐藏register235235235235.php的php代码。例如,google.com可能有一个文件google.com/thisisasupersecretfile2325a.html,而且没有人会知道它存在。 用户无法看到 EVER里面的内容,除非我错过了一个非常重要的php类,并且需要重新访问我的所有代码。 我想不是阻止文件被查看,它只是隐藏它真的很好。我可能错过了这个问题的要点。 – Derek 2010-05-21 22:01:59

+0

是的,我看到了混淆名称的观点。但是,如果你将register.php的代码放在包含include的php文件中,那么用户无法看到它。如果用户能够看到文件的内容(例如通过访问服务器),他也会知道register3242342555.php文件的名称。 – nico 2010-05-21 22:20:02