小编Ale*_*dro的帖子

为什么PHP session_destroy()不起作用?

我尝试使用该session_destroy()方法销毁所有sesion变量,但在使用该方法后,不会销毁这些值.

为什么session_destroy()不工作?

有没有其他方法来破坏PHP中的会话?

if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) 
{   
    session_destroy();   
    session_unset();     
}
Run Code Online (Sandbox Code Playgroud)

php session

35
推荐指数
4
解决办法
12万
查看次数

Python:尝试使用请求POST表单

我正在尝试使用Python和请求库登录网站进行一些抓取,我正在尝试以下(这不起作用):

import requests
headers = {'User-Agent': 'Mozilla/5.0'}
payload = {'username':'niceusername','password':'123456'}

In [12]: r = requests.post('https://admin.example.com/login.php',headers=headers,data=payload)
Run Code Online (Sandbox Code Playgroud)

但是nada,重定向到登录页面.我需要开会吗?我做错了POST请求,是否需要加载cookie?会话会自动执行吗?我迷失在这里,需要一些帮助和解释.

我正在尝试登录的网站是php,我是否需要"捕获set-cookie并设置cookie标头"?如果是这样,我不知道该怎么做.该网页是一个包含以下内容的表单(如果有帮助):输入:用户名''密码''id':'myform','action':"login.php

一些额外的信息,也许你可以看到我在这里失踪的..

In [13]: r.headers
Out[13]: CaseInsensitiveDict({'content-encoding': 'gzip', 'transfer-encoding': 'chunked',
 'set-cookie': 'PHPSESSID=v233mnt4malhed55lrpc5bp8o1; path=/',
  'expires': 'Thu, 19 Nov 1981 08:52:00 GMT', 'vary': 'Accept-Encoding', 'server': 'nginx',
   'connection': 'keep-alive', 'pragma': 'no-cache',
    'cache-control': 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0',
     'date': 'Tue, 24 Dec 2013 10:50:44 GMT', 'content-type': 'text/html'})

In [14]: r.cookies
Out[14]: <<class 'requests.cookies.RequestsCookieJar'>[Cookie(version=0, name='PHPSESSID',
 value='v233mnt4malhed55lrpc5bp8o1', port=None, port_specified=False, domain='admin.example.com',
  domain_specified=False, domain_initial_dot=False, path='/', path_specified=True, secure=False,
   expires=None, discard=True, comment=None, comment_url=None, rest={}, …
Run Code Online (Sandbox Code Playgroud)

python python-requests

34
推荐指数
3
解决办法
9万
查看次数

在PHP上传时,$ _FILES为空

我使用dropzone.js使用JQuery处理前端的上传部分.

http://www.dropzonejs.com/

我的测试用例是:

上传34 MB文件.工作正常...
上传一个27 MB的文件.工作正常...
上传两个文件,每个文件是5 MB.工作正常...
上传两个文件,34 MB + 27 MB.失败,$_FILES是一个空数组

这是JQuery代码:

<script>
    $(document).ready(function () {
        Dropzone.options.myAwesomeDropzone = {
            autoProcessQueue: false,
            url: '<?= site_url("admin/video/upload"); ?>',
            addRemoveLinks: true,
            previewsContainer: ".dropzone-previews",
            uploadMultiple: true,
            parallelUploads: 50,
            maxFilesize: 500, //500MB
            acceptedFiles: 'video/*',
            maxFiles: 100,
            init: function () {
                var myDropzone = this;

                myDropzone.on("success", function (file, response) {
                    $("#success, #fail").hide();
                    $("#" + response).show();
                });

                myDropzone.on("maxfilesexceeded", function (file) {
                    this.removeFile(file);
                });

                $("#submit-all").click(function (e) {
                    e.preventDefault();
                    e.stopPropagation();
                    myDropzone.processQueue();
                });
            } …
Run Code Online (Sandbox Code Playgroud)

php upload jquery file-upload file

4
推荐指数
1
解决办法
438
查看次数

如何更改会话数组变量值

我的会话中有一组“产品”,一个产品是一组名称、代码和数量,我想在按下“qty_up”按钮时更改数量:

我的 PHP 是这样的:

if ($_POST['qty_up']==''){
    foreach ($_SESSION["products"] as $key => $val)
    {
        if ($val["product_code"] == $_POST['code']) {
            $val["product_qty"] += 1;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这会更改 $val["product_qty"] 但不会更改会话中的实际值

这是我在会话中的“产品”数组:

array (size=1)
  'products' => 
    array (size=5)
      213453 => 
        array (size=5)
          'product_qty' => string '1' (length=1)
          'product_code' => string '213453' (length=6)
          'product_name' => string 'Kingfisher' (length=10)
          'product_price' => string '12.00' (length=5)
      48754 => 
        array (size=5)
          'product_qty' => string '1' (length=1)
          'product_code' => string '48754' (length=5)
          'product_name' => string 'Minute maid' (length=11)
          'product_price' => …
Run Code Online (Sandbox Code Playgroud)

php arrays session session-variables

2
推荐指数
1
解决办法
5121
查看次数

GAE PHP会议即将到期

SESSION在用户登录后使用a 来存储用户数据,如果没有设置数据,它会将用户重定向到登录页面.在用户停用大约30分钟后,SESSION擦除.我该如何延长SESSION时间GAE PHP?该GAE文件似乎并没有提到它.

有什么输入?谢谢!

编辑:无论出于何种原因,这都被关闭了.Gwell对这个问题的评论很有用.对于同样情况下的其他人.

php session google-app-engine

1
推荐指数
1
解决办法
438
查看次数

PHP:如何在一个页面上使用会话,而另一个带有会话的页面正在加载

我正在使用 CURL 从外部 url 下载一个大文件并将其保存在我的服务器上。这可能需要几分钟的时间。下载运行时,我使用curl_setopt($ch, CURLOPT_PROGRESSFUNCTION,.. 运行匿名函数,该函数定期使用当前下载信息更新我的 $_SESSION['download_progress'] 变量。

现在,所有这些都发生在 upload.php 文件中,当用户等待文件下载时,我使用 javascript 请求 Progress.php 页面,其中包含以下简单代码:

session_start();
echo $_SESSION['download_progress'];
Run Code Online (Sandbox Code Playgroud)

这允许我的 JavaScript 代码显示有关下载进度的信息。

除非它不起作用。

在“upload.php”完成加载之前,“progress.php”页面不会加载(换句话说,两个页面仅在文件下载完成后才加载),这不好。session_start() 以某种方式阻止“progress.php”页面加载。我使用自己的服务器(apache + php 5.4),所以我拥有所有管理权限。

我怎么解决这个问题?我可以使用一些丑陋的解决方法,例如将下载信息写入文本文件而不是会话变量,然后使用 javascript 直接读取该文本文件,但我宁愿不这样做。

谢谢

php curl session-variables progress

0
推荐指数
1
解决办法
1376
查看次数