我在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
答案 0 :(得分:1)
如果PHP作为Apache模块运行,您可以在.htaccess
文件或虚拟主机配置中设置:
php_flag session.cookie_secure Off
如果它作为CGI / FCGI运行,则更复杂。我建议切换到PHP-FPM并为该虚拟主机设置特定的池。有关详细信息,请参阅https://serversforhackers.com/video/php-fpm-multiple-resource-pools或https://www.linode.com/docs/web-servers/apache/running-fastcgi-php-fpm-on-debian-7-with-apache(您可能需要根据您使用的Linux发行版进行调整)。