只在一个虚拟主机上关闭apache中的cookie_secure?

时间:2017-06-21 23:52:19

标签: apache session session-cookies virtualhost

我在php.ini中启用了session.cookie_secure。这会影响我服务器上的每个虚拟主机。 (这实际上是我的开发服务器,但我更喜欢将设置保持在尽可能靠近我的生产站点的位置。)

但是我在同一个Apache服务器上的虚拟主机上有一个开发站点。我不想在该网站上使用session.cookie_secure。有没有办法只使用虚拟主机文件为该站点关闭它?

我找到了这个网站: https://geekflare.com/httponly-secure-cookie-apache/

他们表示要打开它,你会这样做:

class Playbook(models.Model):
    username = models.CharField(max_length=39, default="")
    repository = models.CharField(max_length=100, default="")
    inventory = models.CharField(max_length=200, default="hosts")
    user = models.CharField(max_length=200, default="ubuntu")
    directory = models.CharField(max_length=200, editable=False, default="dir")

    def get_dir_name(self):
        return os.path.join(settings.PLAYBOOK_DIR, self.repository)

    def format_directory(self):
        directory = self.repository.lower()
        directory = directory.replace(" ","-")
        return directory

    def save(self, *args, **kwargs):
        self.directory = self.format_directory()
        super(Playbook, self).save(*args, **kwargs)

我可以通过虚拟主机取消设置吗?我试过这个,但它不起作用:

Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure

1 个答案:

答案 0 :(得分:1)

如果PHP作为Apache模块运行,您可以在.htaccess文件或虚拟主机配置中设置:

php_flag session.cookie_secure Off

如果它作为CGI / FCGI运行,则更复杂。我建议切换到PHP-FPM并为该虚拟主机设置特定的池。有关详细信息,请参阅https://serversforhackers.com/video/php-fpm-multiple-resource-poolshttps://www.linode.com/docs/web-servers/apache/running-fastcgi-php-fpm-on-debian-7-with-apache(您可能需要根据您使用的Linux发行版进行调整)。