使网页100%私人,如果没有登录


Making webpage 100% private if not logged in

我几周前想创建一个应用程序,因为我现在想到了一个好主意,首先我想在网页上实现它,有几种方法如何创建一个网页。

第一种可能的方法是在本地创建它并设置一个服务器。然后你可以在那里安装MySQL, PHP等等…你基本上可以在离线状态下开发它。

第二种方法是找一个好的主机然后开始创建网页,通常所有的主机服务都有php mysql这些预装的所以你可以马上开始

我不希望任何人看到我做什么之前,我发布它,我也不希望任何人看到它,也许偷或创造同样的东西,因为我正在做

创建网页的第一种方式可能更安全,因为你不与任何人分享所有的源代码,但是,如果我想使用使用托管的方式,我怎么能确保没有人可以闯入?更确切地说:

我写在每个php文件的开头,如果!isset($_SESSION['user'])不存在,那么header(location: index.php),现在你可能会问我为什么?因为我创建了一个登录表单,你必须登录,现在注册不起作用,所以我只是在数据库中创建了一个帐户,所以这是安全的吗?我的目标是没有人可以访问我写的php文件没有登录,即使认为他们是在主机上,没有登录你不应该能够打开它们,只有index.php包含类似的东西:你好,请登录继续,这种方式是安全的吗?比如,我可以在PHP页面上写我的信用卡证书,这样安全吗?不能有人只是模拟会话没有真正登录?打开这些网页,即使有条件如果会话名称没有设置重定向index。php ?谢谢,有什么风险?我应该切换到本地开发吗?

你应该真正地在本地开发它,而不是特意去保护一个你显然不想让任何人看到的在线页面。

了解本地web开发要比为在线页面实施严格的安全措施容易得多。

我个人推荐MAMP

在它将要存在的主机上开发软件会很有帮助,并且节省了您自己创建主机的麻烦。

大多数主机使用Apache作为web服务器,所以我建议在Apache的。htaccess文件中添加一些指令。

最简单的是添加拒绝规则和IP阻止:

deny from all
allow from 123.123.123.123

另一个选项是要求登录。这里有一篇关于如何做的文章:https://wiki.apache.org/httpd/PasswordBasicAuth

如果你的主机有cPanel,很多主机都有,从cPanel内部添加密码保护是很简单的。

这些都不会影响你的编码,或者需要任何你可能犯错误的东西。把它放在文档根目录应该很容易,当你准备好启动时,你可以简单地删除这些行。

如果我理解正确的话,您想要的是为您的网站创建一个"维护模式"吗?

如果是,您可以创建一个config.ini文件,如:

maintenance_mode=true ;Use true or false here
maintenance_access_ip="your_ip_here" ;Use your external ip. Example: "192.168.0.1"

并将以下代码放在脚本的顶部:

$configs = parse_ini_file('path/to/config.ini');
if(
    $configs['maintenance_mode'] 
    && $_SERVER['REMOTE_ADDR'] != $configs['maintenance_access_ip']
){
    //Redirect your user to a page informing your user that your service is down
    header('Location: maintenance.php');
    die();
}

您需要用您的IP地址验证您的索引页。按照下面的代码处理

if($_SERVER['REMOTE_ADDR']=="YOUR IP ADDRESS")
{
    //Your Index Page Code
}else
{
    echo "Not Accessable";
}

否则就这样做。把下面的代码放在索引页的顶部

if($_SERVER['REMOTE_ADDR']!="YOUR IP ADDRESS")
{
    //exit or die
}