PHP ve Perl ile çerezleri yapma

4 Cevap php

Ben PHP kullanarak bir cookie kurmaya çalışıyorum, bu yüzden aşağıdaki Perl kodu ile bir çıkış olarak aynı:

my %auth;
$auth{'username'} = $username;
$auth{'password'} = $password;
my $wholesaleauth = $co->cookie
(
 -name=>'wholesaleauth',
 -value=>\%auth,
 -expires=>'+1h',
 -path=>'/'
);

Şimdi Perl ve tüm bilmiyorum ve Perl kodunu değiştirmek istemiyorum. Ben temelde çerez taklit etmek gerekir. Ben krom çerez yönetimi cookie baktığımızda bu değer olduğunu söylüyor:

password&PASSWORD&username&USERNAME

Ben temelde bu taklit, ancak PHP çalışıyorum.

4 Cevap

Ben düzgün çalışır ancak bunun yerine setrawcookie kullanarak elde edebildi. Yani, yüzde kodlama kullanımı ve perl set çerez aynı olması mümkün değildir.

Ben sadece noktasına varolan komut çalışıyoruz anlıyorum. Ancak, bu gerçekten siteye giriş için kullanılan kullanıcı adı ve şifre insanlar varsayarak, ben bir major security hole var söyleyebilirim.

Bunun dışında:

#!/usr/bin/perl

use strict; use warnings;

use CGI::Cookie;

my %auth;
$auth{'username'} = 'not safe';
$auth{'password'} = 'get me outta here';

my $wholesaleauth = CGI::Cookie->new(
    -name=>'wholesaleauth',
    -value=>\%auth,
    -expires=>'+1h',
    -path=>'/'
);

print "Set-Cookie: $wholesaleauth\n";

Çıkışlar:

Set-Cookie: wholesaleauth=password&get%20me%20outta%20here&username&not%20safe; path=/; expires=Thu, 14-Jan-2010 08:05:12 GMT

Cookies work in a common way olursa olsun onları inşa veya çıkış için kullanılan dil ya da kütüphane.

Ayrıca başlıklı bölümüne bakın drawbacks of cookies.

test edilmiş ve $ değer oluşur değildir. Kendi $ değer koymak

$username="username";
$password="password";
$auth['password']=$password;
$auth['username']=$username;
$value = "password\&".$auth['password']."\&username\&".$auth['username'];
echo $value;
setcookie("wholesaleauth", $value, time()+3600,"/");

PHP manual daha fazla bilgi için bkz:

Bu tanımlama çok doğru görünmüyor, sen perl ($ ko-> çerez parçalar) ne kütüphane kullanıyorsunuz? Ben Perl CGI :: Cookie öneririm:

http://perldoc.perl.org/CGI/Cookie.html

Sonra $ _COOKIE ['CookieName'] değişkeni yoluyla PHP kurabiye almak ve setcookie yoluyla onlara ayarlayabilirsiniz:

http://php.net/manual/en/function.setcookie.php