I have a script to browse through tumblr blogs without looking at all the blogs individually. I use the old, simple tumblr-api. It worked perfect until tumblr now shows one of these new privacy messages first, that one has to click to continue.
I guess, after the click tumblr sets a cookie, but I can't find a way to get this cookie working for my php script...
if you put in the browser:
http://nakedworldofmars.tumblr.com/api/read/json?start=0&num=5&type=photo
usually you get a json with lot's of data that then can be used. But now this privacy warning comes first. After you once clicked "ok" the api-call works in the browser, actually after the "ok" you are directly redirected and he json-code is delivered. With the next call the warning page does not appear anymore (unless you delete cookies).
Now I use this in a php-script:
<?php
$testread = file_get_contents('http://nakedworldofmars.tumblr.com/api/read/json?start=0&num=5&type=photo');
if (strpos($testread, 'Before you continue') !== false) {
echo $testread;
}
?>
I thought, clicking the "ok" on the echoed page would produce the cookie.
But it doesn't work.
Anybody has any idea how I can make that tumblr knows that my php-script has seen and accepted the page?
I faced exactly the same problem since yesterday – I am using javascript, though. After several trials to solve this using the old API I failed and thus finally just switched to the new API (v2). I also hesitated to do so at first because I am not too familiar with dealing with OAuth keys as well. But it turned out to be quite easy – and it worked instantly. I used this guide as a starting point:
http://www.developerdrive.com/2014/05/how-to-get-started-with-the-tumblr-api-part-1/
http://www.developerdrive.com/2014/05/how-to-get-started-with-the-tumblr-api-part-2/
I'm having a lot of problems and I really can't seem to find a solution.
Yesterday, I finished up doing some work on a vagrant box in Laravel. When I shut down the computer, login functionality was working fine.
On opening everything up today I find sessions are no longer working.
I've tried everything I can think of but I cannot log in now and flash data doesn't work.
Every page load a new session is created - e.g using the native driver, if I login, it creates two sessions - one for the login page, and one for the posted login page.
If I use a database driver I get the same result. Every time I click login, I get a further two rows of session data
I can't tell what's happening with the cookie driver but I've tried it and it's not working.
I've tried in Chrome and IE and neither will login. I've tried deleting the contents of the storage folder multiple times, and emptying cookies on the browser side. I did think it may be to do with the time being different on the vm and the local machine but they're synchronised.
Any ideas what could be causing this? Anyone come across this issue before?
edit: I've also now recreated the virtual machine and the problem still exists
second edit: I've now started from scratch using a digitalocean VPS with the same results.
I've stripped out everything in my routes file and all it now has is the following
<?php
Route::get('/sess/set/{value}', function($value) {
Session::set('testv', $value);
Return 'Set ' . $value . ' - ' . Session::get('testv');
});
Route::get('/sess/get', function() {
Return 'Get ' . Session::get('testv');
});
I visit the first page and it shows whatever value I put into the session. Hit the second page and you only get the 'Get ' part without any session value.
session_attributes always has a _token field, I've tried changing the name of the session and the domain and still can't get sessions to work.
edit3: for anyone who comes across this, I never identified the issue. I started a completely new project, copied my controllers and views across, recreated my routes file and everything is now working - although I'm half expecting to be updating this post tomorrow to say it's broken again!
My problem was that I had echo statements in my function. It was keeping the session from being properly created/stored.
I had an echo before my 'return Redirect' so the redirect didn't get the session...
public function login()
{
// auth
if (Auth::attempt(Input::only('email', 'password'), true))
{
return Redirect::route('companies.index');
}
// failed -> back to login
return Redirect::back()->withErrors(['email' => 'Login failed.'])->withInput();
}
Details: http://brainwashinc.com/2014/02/17/laravel-sessions-not-working-in-4-1/
I had this exact problem and with almost identical environments as well. As you experienced as well what ended up working for me was starting a totally fresh Laravel 4.1 project and then copying everything over. However I did also find that by changing one config variable I was able to fix the problem:
In /app/config/session.php change the lifetime config item to something higher than 0. This fixed the issue for me.
I had this same issue and already changed my session values to the 4,1 version. I logged into our server and ran the composer update command, after it finished everything worked fine.
composer update
I spent a whole day with the same issue (session regenerated with almost every request), and could not find anything helpful online. Posting this here in case somebody has the same issue.
Basically the problem was that the session cookie was not set correctly due to template errors. So if you run into this, first check that the session cookie is set with every request via http headers.
In my case I wrongly used something like this in some of my templates:
#section('test')
<p>Some content here</p>
#endsection
This is wrong!
In Laravel 4 it needs to be #stop instead of #endsection:
#section('test')
<p>Some content here</p>
#stop
Using #endsection made the app not finish correctly, so no session cookie was set. There is no trace of anything being wrong in the logfiles however. BTW, this kind of error also leads to after-filters not being applied.
I also has this problem, and it turned out to be with outputting data early - I was already echoing some debug text in the controller action, and then tried setting a session variable for the first time - the session just wouldn't persist, and kept recreating each time - once I removed the output, it worked fine (and fine from then onwards)
I upgraded from Laravel 5.1 to 5.2 and had the issue of numerous sessions being created on every page load. It didn't matter which session driver I used, nor did changing anything in config make it work. (I tried every suggestion on every StackOverflow result produced by Google.)
The solution for me: remove "web" middleware from your routes. Apparently, web middleware is included automatically in 5.2+, so if your routes ALSO specify it, you wind up with multiple sessions being generated.
There are many reasons this can happen, I just ran into this problem myself. The fix for me was to change:
public function getAuthIdentifier()
{
return $this->username;
}
to
public function getAuthIdentifier()
{
return $this->getKey();
}
on the User model.
I've experienced issues related to this. The session file wasn't created every time but sometimes I just can't get the session variable displayed. After hours of experiments I found that the problem was related to Debugbar.
If you're using Debugbar and having session issues, disable it and try again to confirm. There's an issue reported here.
I’m using CI 2.1.4 and I set
$config['sess_expiration'] = 0;
but sometime when I’m in my dashboard I’m unlogged automaticaly by the site…
The context is the following :
I’m using 2 applications for 1 system, but both applications use the same encryption key, session table and the same timeout.
This problem appear when I submit a form then after I pick up session data to add it in the database.
Anyone has an idea ?
Thanks.
I think you have 2 ways to fix it.
First, you should download latest code from github and replace session library folder with downloaded code.
Second, you can extends the session library and check for AJAX request, then update the session as you can see this following discussion about this problem in CodeIgniter Official Forum, it explains to get rid of the problem: http://ellislab.com/forums/viewthread/138823/
Note: The forum location has changed http://ellislab.com/forums/ to http://forum.codeigniter.com and it is hard to find the topic there. You can search if you like or you can follow the #1.
Hope it will helps you.
Well I m having strange problem here. I have a codeigniter 2 web application which requires user login.
My session works perfectly when I jump from one page to another. But when I turn on Firebug and try to jump to another page, i m kicked back to login page.
This happens always everytime I turn firebug on, but works okay if its not turned on. I have no clue whats going around.
Why Codeigniter session is not working when Firebug is turned on?
Any help will be highly appreciated.
Edit:
I have two separate applications made with Codeigniter. Both have same issue.
P.S. I am facing this problem in my local machine, haven't checked in remote server.
Thanks,
Sabin
if you have the session filtering by user agent that's the problem. firebug adds additional stuff which can cause CI to think your session has been hijacked.
if you have firebug on globally, you may notice some sites tell you to disable the plugin for their site(for example gmail) for that very reason.
Also, if the sessions are not setting try a couple different values in cookie_domain. Setting it to empty did the trick to me. It appears that codeigniter tries to fill in the value for you ($config['cookie_domain'] = "";)
I've read quite a few solutions on the web, but none really works for me. So Coming back to Stackoverflow:
The Issue is as following: My session gets created, it get's passed trough the pages, and it is usually still running if uploading a picture or changing information via AJAX. But sometimes, and that's not something I can reproduce - It just changes the Session ID as soon a picture is uploaded - I just get a new Session ID on the upload script - meaning if i browse trough the page it's the old ID but the picture of course won't get saved as it's a new session_id - and what's even more funny this one will stay the same for picture uploads until it's destroyed! So in fact I'll have 2 session_id's for the same session.
I am getting unpatient so it would be really nice if somebody had a clue for me. Of course session_start is executed at the top of every page ;).
I am doing quite a few unneccesary mistakes since a couple of weeks.. Oh well of course there was nothing wrong with the code as it was... The mistake was on my side as of I forget that flash doesn't pass anything if not told to.
And as I use the swfuploader libary, oh well I think you can imagine the rest.
Don't ever forget to pass your session id if using flash!