PDA

View Full Version : hack: active cookie


Sun Boy
04-29-2003, 08:35 AM
hello every one
as all of you know this command and what it's do in sql
update user SET cookieuser='1'

but there is a problem with this command..
it's not do it for all users we have

so i make up a hack from my own but i need a help from you to finish it ( file name is cookies.php in admin folder )


<?php
error_reporting(7);

if (function_exists("set_time_limit")==1 and get_cfg_var("safe_mode")==0) {
@set_time_limit(1200);
}

//suppress gzipping
$nozip=1;

require("./global.php");
require("./config.php");

adminlog();

cpheader();

//
################################################## ####

if ($action=="updatecookie") {
if (isset($perpage)==0 or $perpage=="") {
$perpage=50;
}
if (isset($startat)==0 or $startat=="") {
$startat=0;
}

echo "<p>User
ids:</p>";

$updatecookieuserquery=$DB_site->query("SELECT *

;
FROM user

;
WHERE user.userid>=$startat

;
AND user.userid<$finishat

;
AND user.open<>10

;
GROUP BY user.userid

;
ORDER BY userid DESC"
);
while ($updatecookieuser=$DB_site->fetch_array($updatecookieuserquery)) {

$userid=$updatecookieuser[userid];

echo "Processing user <b>$us
erid</b><br>\n";
flush();
$getpost=$DB_site->query_first("SELECT * FROM user
;WHERE userid='$updatecookieuser[userid]' ORDER BY userid A
SC LIMIT 1");
$DB_site->query("UPDATE user SET cookieu
ser='1' WHERE userid='$updatecookieuser[userid]'");
}
if ($checkmore=$DB_site->query_first("SELECT userid FROM user
WHERE userid>=$finishat")) {
cpredirect("cookies.php?s=$session[sessionhash]&action=updatecookie&startat=$f
inishat&perpage=$perpage");
echo "<p><a href=\"cookies.php?s=$session[sessionhash]&action=updatecookie&startat=$f
inishat&perpage=$perpage\">Click here to contin
ue updating users cookies</a></
p>";
} else {
echo "<p>cookies updated in user
table!</p>";
cpredirect("cookies.php",1);
}
}

cpfooter();
?>



what do you think ?

Logician
04-29-2003, 02:10 PM
Today at 12:35 PM Sun Boy said this in Post #1 (https://vborg.vbsupport.ru/showthread.php?postid=388809#post388809)
hello every one
as all of you know this command and what it's do in sql
update user SET cookieuser='1'
but there is a problem with this command..
it's not do it for all users we have

What do you mean? This SQL command will overwrite everyone's cookieuser settings and will set it as 1.

Your problem is probably not the SQL command itself but what happens afterwards. Even if you run the command, your users will be able to reset it to 0 in their user cp or while registering if you don't modify relevant templates.

So there is nothing wrong with the SQL command and you don't need a hack to run this command in the db.

Sun Boy
04-29-2003, 04:50 PM
so what sholud i do to make it '1' for all the users ?

Logician
04-29-2003, 05:08 PM
run the query update user SET cookieuser=1 then edit your register and usercp templates and remove relevant sections so that your users can not edit them back. (make them hidden form fields)

Sun Boy
04-30-2003, 06:40 AM
how about this ?

<?php
error_reporting(7);

if (function_exists("set_time_limit")==1 and get_cfg_var("safe_mode")==0) {
@set_time_limit(1200);
}

//suppress gzipping
$nozip=1;

require("./global.php");
require("./config.php");

adminlog();

cpheader();

// ################################################## ################

if (isset($perpage)==0 or $perpage=="") {
$perpage=1000;
}
if (isset($startat)==0 or $startat=="") {
$startat=0;
}
$finishat=$startat+$perpage;

echo "<p>User ids:</p>";

$users=$DB_site->query("SELECT userid,usertitle,usergroupid,customtitle,posts FROM user WHERE userid>=$startat AND userid<$finishat ORDER BY userid DESC");
while ($user=$DB_site->fetch_array($users)) {
unset($sql);
$userid=$user[userid];

// update user stuff
if ($user[cookieuser]==0)
$DB_site->query("UPDATE user SET cookieuser='1' WHERE userid='$user[userid]'");

echo "Processing user <b>$user[userid]</b><br>\n";
flush();
}
if ($checkmore=$DB_site->query_first("SELECT userid FROM user WHERE userid>=$finishat")) {
cpredirect("cookies.php?s=$session[sessionhash]&startat=$finishat&perpage=$perpage");
echo "<p><a href=\"cookies.php?s=$session[sessionhash]&startat=$finishat&perpage=$perpage\">Click here to continue updating users</a></p>";
} else {
echo "<p>User cookies updated!</p>";
}


cpfooter();
?>