This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
2896
Other software / Re: More thoughts on SMF 2.1
« on August 23rd, 2012, 04:07 PM »
Yup, everything goes in cycles.
Arial looks good right now, though I do understand exactly what you're on about with fonts getting boring. I'm not a designer, so I don't really know what to suggest.
Arial looks good right now, though I do understand exactly what you're on about with fonts getting boring. I'm not a designer, so I don't really know what to suggest.
2897
The Pub / Re: Getting ready for an alpha release...
« on August 23rd, 2012, 03:24 PM »
I'd leave database changes for now, ultimately. You're right that it's very complicated.
As far as upgrading goes, I really wouldn't bother worrying about it for the alpha. Anyone that uses an alpha should be prepared for anything and everything, including manual DB changes, and shouldn't be using it on a production site anyway.
I'd suggest just committing the changes to Aeva and Subs-BBC. Most things work as expected at this point in time. (Though it would be nice if we can get Aeva to use the no-cookies version of the YT embed code, and ideally using the iframe method rather than a Flash object)Quote That is going to be dependent on the community. There was a thread on AAF discussing the fact that I had a lot less posts than Shawn and yet more likes. If the community notices enough to care, they'll figure out whether they want to make it competitive.Quote Change it, that's cool. We can worry about performance later.Quote That makes sense. It would solve a lot of troubles.Quote That's the beauty of being an alpha, it doesn't have to be ready in any fashion.
As far as upgrading goes, I really wouldn't bother worrying about it for the alpha. Anyone that uses an alpha should be prepared for anything and everything, including manual DB changes, and shouldn't be using it on a production site anyway.
I'd suggest just committing the changes to Aeva and Subs-BBC. Most things work as expected at this point in time. (Though it would be nice if we can get Aeva to use the no-cookies version of the YT embed code, and ideally using the iframe method rather than a Flash object)
Do we want to encourage competition for people to get more likes..?
- shall I count theme users per skin or per theme in the Skin Selector page? It only involves replacing "id_theme" with "id_theme, id_skin" in the SQL query for that -- but it might not help when it comes to performance...
- shall the board icons be set to 'New' status if there are new topics in the corresponding board, or new topics in the corresponding board *and* its children...? Currently it's the latter, but I think the former would be best, if only because sub-boards have their own 'New' label...
- just for the record: I'm currently reworking (quite heavily) the layouts for the Search page and Media page (homepage mostly). And I'm totally not happy, and I totally need to commit before we go alpha...
2898
Off-topic / Re: PHPSESSID Brute force
« on August 23rd, 2012, 03:18 PM »
^^ This. The IP should not be trusted for any such thing.
The best one is for intranets where potentially every user has the same IP address.
The best one is for intranets where potentially every user has the same IP address.
2899
Off-topic / Re: PHPSESSID Brute force
« on August 23rd, 2012, 02:51 PM »
I already actually hinted at this in my thoughts above. The session id is still generated in the same manner and is thus still vulnerable.
There are certain actions that already call session_regenerate_id() exactly as it should (logging in, logging out, admin validation) but there's only so frequently you can call it before things get messy and you end up with session timeouts.
There are certain actions that already call session_regenerate_id() exactly as it should (logging in, logging out, admin validation) but there's only so frequently you can call it before things get messy and you end up with session timeouts.
2900
Off-topic / Re: PHPSESSID Brute force
« on August 22nd, 2012, 11:13 PM »
Not in Wedge you can't.
2901
Off-topic / Re: PHPSESSID Brute force
« on August 22nd, 2012, 10:52 PM »Can't you just check the IP address and see if it matches the one in the session
Take one IP address, a couple of time stamps, md5 the lot. Now please tell me how you extract the IP address from this.
but maybe you can ignore the session information and create a new one like if they didn't have a session to begin with.
2902
Off-topic / Re: PHPSESSID Brute force
« on August 22nd, 2012, 08:58 PM »
OK, here's the deal. If an application relies on PHPSESSID to handle sessions for anything of any 'security', you're screwed because you can spoof a user's session - right up to taking over a user's session while they are logged in.
In our case, PHPSESSID is only used for guests, so should a session be spoofed, there's no immediate risk.
I'm not sure, though, whether the same risk is also applicable to session_id() or not, if it is there's a much bigger problem.Quote That's what I mean. If someone brute-forces in the manner you're thinking, they're going to generate an obscene number of requests and even the most inept host is going to notice that. But with this technique, session stealing is potentially within the region of requests where hosts may or may not notice it.Quote Unless you've hacked it to also display the user agent, the odds of being able to tell a bot just by what they're 'browsing' are going to be slim.Quote Have you noticed any?Quote I suppose there is some merit to that, but you don't need to do that by tracking sessions. Using the access log will give you the same general information.Quote Yes, but what does it actually tell you?Quote I don't know how your system is set up, but the conventional way to set this up is to push the sessions to a single shared resource, and load/save sessions from there, for example I've done this in the past using MongoDB to be a session store, across multiple systems.Quote If you can guess a session id, you can theoretically spoof that session. It's a form of session fixation bug.Quote That's the point: you do not have to spoof the IP address. The IP address is merely a component of the hash, you don't have to actually be on that IP address, because it's a *hash* and thus the IP address is not recoverable.
This is why it's important: spoofing a session just relies on you being able to figure out the session id. Creating a cookie is a piece of the proverbial, it's just a header attached to the request. Fortunately in Wedge's case you do need to know what the contents of that cookie are, and it's a bit more than just the session id, so it is physically harder to spoof. But not impossible.
In our case, PHPSESSID is only used for guests, so should a session be spoofed, there's no immediate risk.
I'm not sure, though, whether the same risk is also applicable to session_id() or not, if it is there's a much bigger problem.
But the thing is, once you get a forum up and running... Are you spending your time checking for weird session behavior? I would bet not...
Well, it's useful for me: (1) spotting what could be a bot
(2) spotting links that shouldn't be accessible to guests and yet are being accessed,
(3) generally determining whether my host is cutting my access because I have too many regular users (like, was I mentioned on a high-profile blog?)
Well, I'm certainly accessing the Who's page more often than the intrusion log.
At minimum I usually have four to six servers handling request. I also wonder how these sessions work in this setup. Is there some sort of syncing going on between them that they somehow look like one system.
No matter, it looks like session ids are predictable. What does this actually mean being able to guess a session?
Thinking about hijacking sessions even if your able to spoof another networks IP address the server isn't going to send you anything back and plus you don't have a cookie.
This is why it's important: spoofing a session just relies on you being able to figure out the session id. Creating a cookie is a piece of the proverbial, it's just a header attached to the request. Fortunately in Wedge's case you do need to know what the contents of that cookie are, and it's a bit more than just the session id, so it is physically harder to spoof. But not impossible.
2903
The Pub / Re: RSS feeds (Was: Some admin options required)
« on August 22nd, 2012, 08:26 PM »But, if the boards are inaccessible, surely the links are as well...? (Unless you mean they're shown in the sidebar even though one gets a "Board doesn't exist" error...?)
Right now if you can see a board, you get the RSS feed as you should. But that wasn't what I suggested doing. I was suggesting hiding the RSS links if the board is not visible to guests. If the board is not accessible to guests, there's no need for RSS feeds as it currently stands.
Obviously, we'd have to reload the user yes.
Which implies that one would want to supply Google with their username & password for a site...? I certainly wouldn't. But I would be perfectly fine with providing it a custom key for reading private boards. As long as no one at Google can actually get access to my account with it...
ORLY...?
2904
The Pub / Re: RSS feeds (Was: Some admin options required)
« on August 22nd, 2012, 06:57 PM »It would make sense -- as long as we provide a way to access these boards through a URL key representing the requesting user...
To implement this is massively more complicated because it requires either fudging and re-calling the loading of the user (to re-handle board access) or doing it all manually. It's not pretty, anyway (and either way has performance issues), the other option is to intercept rsskey or whatever in the user loader and do it that way but even that's a check that would have to be performed for every guest on every page load since user authentication is done before almost anything else.
The alternative is to support username/password the way Google Reader etc supplies it, which is in the URL through the proper username/password parameters, but even then we still have to deal with authentication early enough. Perhaps only doing it when feeds are requested and there isn't a cookie (the circumstances that would be applicable for such things)
Side note: there's another case where sessions are used but shouldn't be, since someone requesting an RSS feed would still be online IIRC...
2905
Off-topic / Re: PHPSESSID Brute force
« on August 22nd, 2012, 06:46 PM »OTOH, anything with a ID less than 2 million bytes long will be guessable by brute force... It's just that something was discovered that makes it faster to brute force.
So, the alternative would be..? Storing a log of all recent guest requests, along with IP and requested URL? Otherwise, what are we gonna show in whosonline..?
I do care (a bit) about stats, I check them at least every once in a while (like, 6-7 times a year), and yet if I suddenly found myself without any non-member stats, I'd be quite upset...
it's okay for websites that sell you something, I guess, but we're talking about a forum system... GA will only make it slower.
2906
Off-topic / Re: PHPSESSID Brute force
« on August 22nd, 2012, 05:04 PM »- If PHPSESSID being 'guessable' is the problem, then it's also a problem when it's stored in a cookie. Meaning, we can't have guest sessions AT ALL. Of course I'm not sure at which point we're using sessions for guests, but still..?!
If session ids are guessable, and can be brute-forced, they can be brute-forced for session spoofing. Delivery method of that makes no difference.
As far as using sessions for guests, the answer currently is all the time. Every request either creates a new session or perpetuates an existing one, with the intent to try and get an idea of the number of 'unique' browsers.
That alone is made farcical by search engines that send multiple instances of bots at the same time.
- Guest count is important to me, although I agree that it's unreliable at best (if only because there are countless unnamed bots over the web.) But I can already see people saying, "ever since I installed Wedge, my forum's visit count has dropped by 1857%! This is an outrage to SEO gods!"
- And yes, I have this annoying tendency to forget about earlier topics... So many things we discussed in the past. So many features/ideas we decided to implement, but none of us added it to a to-do-list, and it gets forgotten forever etc...
2907
The Pub / Re: Print Page
« on August 22nd, 2012, 04:16 PM »Why?
Yes, but you didn't finish your sentence...
Oh, yeah, right... So it's hidden in page 15 right? But if you use rare keywords, it'll still show it on page 1, which is better than no results at all (because of printpage not being available.)
Then again, if (and only if) Google's handling of prev/next works as expected on Wedge, then I suppose we can expect it not to need a printpage for that...
Heck, maybe it's already done that way... Because the topic just didn't show up in one go on my browser, it loaded progressively...
I'd say, if mod_gzip and PHP are smart enough to catch the output buffer and gzip parts of it (I believe gzip is suited for chunk transmissions?), then it's not worth worrying too much about memory...
Display does that somewhat bizarre process of having a callback per message specifically so that you can have truly massive messages or vast threads without any problems with memory_limit. Printpage does not do that, it just queries, pushes everything into $context before going to the template. On low memory configurations it's quite possible to overflow that on long threads.
Then again, I'm not exactly a server/Apache/PHP internals specialist, and I probably said something silly.
If PHP is set up to do it (and Wedge has that configuration option), it's done in PHP, and the total page output must fit in memory. This is why the DB backup feature is often more reliable if you don't gzip it, because you have more memory capacity to cope with the data, because you don't have to hold it all at once to gzip it.
If Apache is set up to do it, and not PHP, PHP just has to output its content back to Apache, and PHP just has to make sure that it doesn't run out of memory in whatever it's doing.
Same here...
Possibly, what we could do is, instead of directly showing the printpage version, we could hmm... Show a choice to the user: either print the current page, or print the entire topic, or show an archive of the topic for safe-keeping. Then we could handle all of them differently...
The fact we get SEO benefits, plus streamlining parse_bbc a little, these are just nice side benefits.
Seems like maybe print could really be two plugins a "Save Topic" plugin for those who want to save a topic to send to someone, and a print plug for those who want to offer the option to print. Though really if the save version is printable then really only need a save topic plugin. Maybe even have different file output types depending what extensions the server has. Basic HTML, PDF for those that can ect ect.
2908
Off-topic / Re: PHPSESSID Brute force
« on August 22nd, 2012, 04:03 PM »Can't we just store sessions per IP address? (Didn't we already have this discussion..?)
And I don't understand that confusing page, really -- what exactly does it do in reality?
And shouldn't this be a private topic?
And PHPSESSID -- can't we just get away by changing the var name?
On the other hand, if every single session went via our own handling, we could safely disable PHPSESSID and be done with it, though even then it's still going to be broken for users who don't use cookies and search engines that don't handle cookies are still going to screw around with the guest count, much as they do with every other forum system that doesn't use PHPSESSID and do it via the session.
Yet again, it's unreliable and we're still worrying about it :/
2909
The Pub / Re: Print Page
« on August 22nd, 2012, 02:44 PM »So there are many reasons why the meta links wouldn't show up: either there's only one page in the topic (duh!), or it was access through a msgXXX or #new link, things like that...
And what matters is obviously bots only, here. I don't think that accessibility gurus would even kill anyone for not providing these meta links, because seriously... Who ever uses those?! Your browser has to support them, you have to show a special toolbar that takes room in the UI, etc...
They index it, but it doesn't bring PR to the overall site, that's what you mean...? I guess the point here is simply to have people be able to reach your site through multiple keywords... (although reaching it through the printpage... Urgh!)
In fact, it's worse than that, because the printpage version contains the entire thread and specifies the *first page* of the thread as a canonical version. Which pretty much screws up any real benefit it had in the first place.
Yeah, I've never really noticed that... Can you post a direct link please? I don't remember where that topic is
Print page actually works, but I dread to think what the memory limit is set to.
But that's the thing about printpage, the main point is not that it's printable, the main point is that it's savable... (saveable?)
I used to do that precisely on sm.org topics back in the day.
I'm still not entirely convinced this needs to stay in the core - other than archiving threads to send to people, I've never used the damn thing.
2910
Off-topic / Re: PHPSESSID Brute force
« on August 22nd, 2012, 02:43 PM »
Fucking wonderful. I'd note that if you were actually brute-forcing PHPSESSID you'd probably notice it.
What this suggests to me is that we should do exactly as I proposed some time ago - don't store any sessions for guests, meaning you never use PHPSESSID.
What this suggests to me is that we should do exactly as I proposed some time ago - don't store any sessions for guests, meaning you never use PHPSESSID.