- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
/* This is bad. Reaaly bad. It's a really, really bad hack. If you're an employee of
* Intertrode Communication, then I'm really, really sorry that you have to maintain
* this. I was honestly planning on removing this tomorrow, but I've been known to
* forget things like this. It happens.
*
* So here's the thing. I can't seem to figure out why the AccountId variable isn't
* set. I've looked and looked, but I gotta leave now. Anyway, I've found that I can
* just grab the AccountID from the debugging logs. I suppose that to fix it, you'd
* have to locate where it's clearing out the ID.
*
* Again, I'm sorry.
*/
if ( (AccountId == NULL) || (AccountId == "") ||
(ServerSesion["AccountId"] == NULL) || (ServerSesion["AccountId"] == "") )
{
//open session logs
FileHandle file = f_open(LOG_PATH + "\sessionlog-" + LOG_FILE_DATE + ".log", 1);
while (file != NULL)
{
TString line = f_readline(file);
//look for IP and changereg
if ( (sfind(line,REMOTE_ADDR) != -1) && (sfind(line,"changereg") != -1) )
{
//0000-00-00 00:00 /accountmaint/changereg/?AccountId=123456 255.255.255.255 ...
// *
AccountId = substr(line, 52, 6);
}
if (f_EOF(file)) { f_close(file); file = NULL; }
}
}
У чувака где то перетирается AccountId, так он берет данные из логов IIS'а :) Главное, что он сожалеет об этом.
Отсюда: http://thedailywtf.com/Articles/The_Apologetic_Coder.aspx