在localhost上运行但在服务器上不起作用。 (PHP cURL)

I received an captcha in my localhost but the same code server does not work. I try to run my own server with chmod full authority also gave full authority in the cookie.txt file. When I run the perfect localhost. I think, it does not work because of cookie.txt

<?php
    header("Content-type: image/jpeg");
function open($url, $cookie = "")
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2');
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_COOKIE, 1);
            if($cookie != ""){
                    curl_setopt($ch, CURLOPT_COOKIEJAR, realpath(dirname(__FILE__))."\cookie.txt");
            }else{
                    curl_setopt($ch, CURLOPT_COOKIEFILE, realpath(dirname(__FILE__))."\cookie.txt");
            }
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_REFERER, "http://www.xxxxxx.com/caller/");
    $result = curl_exec($ch); 
    curl_close($ch);
    return $result;
}
    open("http://www.xxxxxx.com/caller/", 1);
    echo open("http://www.xxxxxx.com/security.php?id=".(floor(rand() * 1000) + 1), 0);
?>

Can you help me Please?

douye2572
douye2572 我得到空白页面。问题cookie.txt不会创建。我正在寻找这个问题的解决方案。
4 年多之前 回复
dongyizhui0616
dongyizhui0616 检查curl错误粘贴之前curl关闭echocurl_error($ch);
4 年多之前 回复
dongxiang3205
dongxiang3205 对不起@Richard,不幸的是,不是了。cookie.txt不会以任何方式创建一个空白文件,并且cookie文件即使构成也不会打印。
4 年多之前 回复
dtn51137
dtn51137 大多数你应该把<?phpphpinfo();到服务器上的info.php文件并检查是否启用了curl扩展,如果没有,则需要在php.ini文件中启用它。
4 年多之前 回复
douniao7308
douniao7308 是的,但没有工作的方式,它是否会着火,吸烟,发出巨大的噪音或RickAstley视频出现?
4 年多之前 回复
doubo1871
doubo1871 我的意思是,它在服务器上不起作用。
4 年多之前 回复
dongshen4129
dongshen4129 到底是什么“不起作用”是什么意思?
4 年多之前 回复

1个回答



这可能是一个安全问题。 想象一下,攻击者可以更改您的php文件并接管您的应用程序。 这就是Apache服务器在用户www-data下运行的原因,该用户无法访问除只读之外的文件。 这同样适用于目录。</ p>

  if($ cookie!=“”){
curl_setopt($ ch,CURLOPT_COOKIEJAR,“/ tmp / some_better_name_cookie.txt”); \ n} else {
curl_setopt($ ch,CURLOPT_COOKIEFILE,“/ tmp / some_better_name_cookie.txt”);
}} n </ div> </ pre>
</ div>

展开原文

原文

It's probably a security issue. Imagine that an attacker could change your php files and take over your application. That's why Apache server is running under user www-data, which doesn't have access to your files other than read-only. The same applies for directories.

if($cookie != "") {
                curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/some_better_name_cookie.txt");
} else {
                curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/some_better_name_cookie.txt");
}

duanlei2458
duanlei2458 谢谢你的代码工作。
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐