Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
禁用对php文件的直接访问_Php_.htaccess - Fatal编程技术网

禁用对php文件的直接访问

禁用对php文件的直接访问,php,.htaccess,Php,.htaccess,我正在寻找一种方法来禁止直接访问某些包含SQL语句的PHP文件 Page register.php调用操作“register\u sql.php” 如何禁用直接访问()并只允许脚本执行代码 我签出了一个.htaccess文件,但由于阻止执行而失败 <Files ~ "\sql.php$"> Order allow,deny Deny from all </Files> 命令允许,拒绝 全盘否定 一种策略是避免将重要的PHP代码放在站点的文档

我正在寻找一种方法来禁止直接访问某些包含SQL语句的PHP文件

Page register.php调用操作“register\u sql.php”

如何禁用直接访问()并只允许脚本执行代码

我签出了一个.htaccess文件,但由于阻止执行而失败

<Files ~ "\sql.php$">
  Order allow,deny
  Deny from all
</Files>

命令允许,拒绝
全盘否定
一种策略是避免将重要的PHP代码放在站点的文档根目录中。这是大型PHP框架(如Laravel、Zend和CodeIgniter)常用的策略

例如,假设您的站点名为“laptopcafe”,并且您的文件夹结构为:

/var/www/laptopcafe/public/register.php
/var/www/laptopcafe/lib/register_sql.php
配置Web服务器,使文档根目录为/var/www/laptocafe/public。人们仍然可以浏览到,但无法访问register_sql.php

然后,在register.php中,可以包括register_sql.php,如下所示:

<?php

    include(dirname(__FILE__) . '/../lib/register_sql.php');
一种策略是避免将重要的PHP代码放在站点的文档根目录中。这是大型PHP框架(如Laravel、Zend和CodeIgniter)常用的策略

例如,假设您的站点名为“laptopcafe”,并且您的文件夹结构为:

/var/www/laptopcafe/public/register.php
/var/www/laptopcafe/lib/register_sql.php
配置Web服务器,使文档根目录为/var/www/laptocafe/public。人们仍然可以浏览到,但无法访问register_sql.php

然后,在register.php中,可以包括register_sql.php,如下所示:

<?php

    include(dirname(__FILE__) . '/../lib/register_sql.php');
一种策略是避免将重要的PHP代码放在站点的文档根目录中。这是大型PHP框架(如Laravel、Zend和CodeIgniter)常用的策略

例如,假设您的站点名为“laptopcafe”,并且您的文件夹结构为:

/var/www/laptopcafe/public/register.php
/var/www/laptopcafe/lib/register_sql.php
配置Web服务器,使文档根目录为/var/www/laptocafe/public。人们仍然可以浏览到,但无法访问register_sql.php

然后,在register.php中,可以包括register_sql.php,如下所示:

<?php

    include(dirname(__FILE__) . '/../lib/register_sql.php');
一种策略是避免将重要的PHP代码放在站点的文档根目录中。这是大型PHP框架(如Laravel、Zend和CodeIgniter)常用的策略

例如,假设您的站点名为“laptopcafe”,并且您的文件夹结构为:

/var/www/laptopcafe/public/register.php
/var/www/laptopcafe/lib/register_sql.php
配置Web服务器,使文档根目录为/var/www/laptocafe/public。人们仍然可以浏览到,但无法访问register_sql.php

然后,在register.php中,可以包括register_sql.php,如下所示:

<?php

    include(dirname(__FILE__) . '/../lib/register_sql.php');

即使允许直接访问,像
这样的东西也不会输出,或者我遗漏了什么?除非您回显您的查询。正确,但用户可以访问register_sql.php?action=delete&id=123,在这种情况下,如何防止这种情况发生?我不明白您为什么要将参数传递到另一个类似的php文件,所以我猜您的另一个php文件位于另一台服务器上?然后需要某种形式的身份验证。如果您谈论javascript执行此操作,那么通常会使用会话,但这还不够,您还需要检查是否允许该用户执行该操作。使用POST和not GET,那么它的可视性就差一点。即使您允许直接访问,像
这样的东西也不会输出,或者我遗漏了什么?除非您回显您的查询。正确,但用户可以访问register_sql.php?action=delete&id=123,在这种情况下,如何防止这种情况发生?我不明白您为什么要将参数传递到另一个类似的php文件,所以我猜您的另一个php文件位于另一台服务器上?然后需要某种形式的身份验证。如果您谈论javascript执行此操作,那么通常会使用会话,但这还不够,您还需要检查是否允许该用户执行该操作。使用POST和not GET,那么它的可视性就差一点。即使您允许直接访问,像
这样的东西也不会输出,或者我遗漏了什么?除非您回显您的查询。正确,但用户可以访问register_sql.php?action=delete&id=123,在这种情况下,如何防止这种情况发生?我不明白您为什么要将参数传递到另一个类似的php文件,所以我猜您的另一个php文件位于另一台服务器上?然后需要某种形式的身份验证。如果您谈论javascript执行此操作,那么通常会使用会话,但这还不够,您还需要检查是否允许该用户执行该操作。使用POST和not GET,那么它的可视性就差一点。即使您允许直接访问,像
这样的东西也不会输出,或者我遗漏了什么?除非您回显您的查询。正确,但用户可以访问register_sql.php?action=delete&id=123,在这种情况下,如何防止这种情况发生?我不明白您为什么要将参数传递到另一个类似的php文件,所以我猜您的另一个php文件位于另一台服务器上?然后需要某种形式的身份验证。如果您谈论javascript执行此操作,那么通常会使用会话,但这还不够,您还需要检查是否允许该用户执行该操作。使用POST而不是GET,这样它就不那么显眼了。