2009-09-15 113 views
1

我做了一个表单处理,并将代码分解为不同的文件以保持整洁。如何使用HTTPS包含文件 - PHP

现在我为https安全设置表单。

我拉入我的页面的所有文件都必须被称为https吗? 在这种情况下,我不能再使用include();因为它不再允许相对路径?

解决方案是使用file_get_contents();?或者只有(主)页面本身需要被称为https?

+0

您可能还希望查看Smarty等表示层 - 这对代码的清晰度有很大的帮助。 – 2009-09-15 21:39:23

回答

5

这听起来像你是混淆术语。 HTTPS是用于使用SSL或TLS加密从服务器请求页面的协议。这与您为请求提供服务的方式不同。

在您的PHP源代码包括处理服务器端。所有包含将在PHP将该页面传递给您的Web服务器以通过TLS链接返回之前完成。

file.php:

<?php 
include 'fileA.php'; 
include 'fileB.php'; 
?> 

在上述示例中,用户代理(浏览器)永远不会看到fileA.php或fileB.php。页面请求作为单个文档返回。您可以通过https://my-server.com/file.php来申请,在这种情况下,您只需要这些。

+0

谢谢先生。其他人困惑了我。 – chris 2009-09-15 21:35:29

4

如果文件位于同一台服务器上,则不需要更改任何内容。

include(“file.php”);

将工作得很好。

此外,如果你要包括从诺特尔HTTPS服务器上的文件,只要你有正确的TLS库设置,HTTPS是没有问题的

包括(“https://anotherserver.com/file.php”);

将工作,只要其他服务器为PHP提供服务并且不执行它。

+0

我以为PHP5 include();与绝对路径不工作...包括与https一个例外? – chris 2009-09-15 21:39:05

+0

没有。服务器上的路径与网站上的路径不同。所以site.com/path可能是/home/www/html/site.com/path。包括查看服务器文件系统的路径。 – 2009-09-15 21:41:03

+0

绝对路径在PHP 5中与include()一起使用。 – 2009-09-15 22:51:18