discuz批量注册马甲
网上现成的代码存在不少问题,根本不能用,所以就改了下。在discuz! 6.1.0下测试成功,可以正常登录、发帖。
此程序必须预先定义好所有的用户名,没有采用随机组合字符的方法。并且所有用户的注册日期都不一样,以提高真实性。
定义用户的文件user.php:
<?php
$username = array(
'user1','netoom','qwer' //省略n多用户
);
?>
主文件reg.php:
<?php
require_once './include/common.inc.php';
require_once 'user.php';
$member_num = count($username);
for($i=0;$i<$member_num;$i++) {
$data1 = mktime(0,0,0,1,1,2008);
$data2 = mktime(0,0,0,7,1,2009);
$rand_time = rand($data1,$data2);
$regdate = strtotime(date("Y-m-d H:i",$rand_time)); //注册日期从08-1-1至09-7-1
$a = "123456";
$salt = substr(uniqid(rand()), -6);
$pwd = md5(md5($a).$salt);
$user = $username[$i];
$db->query("replace INTO {$tablepre}members (username, password, groupid, regip, regdate, timeoffset )
VALUES ('$user', '$pwd', 10, '127.0.0.1', '$regdate', '9999')"); //于2010-6-9增加了时区默认设置
$uid = $db->insert_id();
$db->query("replace INTO {$tablepre}memberfields (uid)
VALUES ('$uid')");
$db->query("replace INTO {$UC_DBTABLEPRE}uc_members (username, password, regdate, regip, salt)
VALUES ('$user', '$pwd','$regdate', '127.0.0.1', '$salt')");
$db->query("replace INTO {$UC_DBTABLEPRE}uc_memberfields (uid)
VALUES ('$uid')");
echo $user."\t完成<br />";
}
?>
-----------------------------------最近发现一个BUG------------------------------------------------------
用这些用户登陆后默认的时区是
导致看到的帖子时间比北京时间少了8小时左右。解决办法:UPDATE `cdb_members` SET timeoffset = '9999' WHERE timeoffset = ''
------------------------------------------------------------华丽的分隔线--------------------------------------------------------------------------
<?php //头像放置文件avatar.txt,用户名放置文件users.txt.一行一个有效数据 //定义马甲的相关信息!1.ip注册IP,2.用户密码,3.用户email,UCD.ucenter的头像文件夹。要求可读写权限, //4.NUMBER是添加数量。如果文件中用户名少于定义的数量。将以实际为准 /* * ps.如果数据库已经存在用户,则跳过 * */ define ( "IP", '127.0.0.1' ); define ( "PASSWORD", 'password' ); define ( "EMAIL", 'admin@admin.com' ); define ( 'UPRE', 'uc_' ); define ( "DPRE", 'pre_' ); define("UCD",'/home/wwwroot/ucenter/data/avatar/'); define('NUMBER', 15000); /** * 暂时用于shell中运行* */ //ucenter的数据库配置 $udbserver = 'localhost'; // 此处改成数据库服务器地址 $udbuser = 'root'; // 此处写数据库用户名 $udbpwd = 'root'; // 数据库密码 $udbname = 'ucenter'; // 数据库名称 $ucharset = 'utf8'; // 此处写字符集gbk或者utf8 //discuz的数据库配置 $ddbserver = 'localhost'; // 此处改成数据库服务器地址 $ddbuser = 'root'; // 此处写数据库用户名 $ddbpwd = 'root'; // 数据库密码 $ddbname = 'ultrax'; // 数据库名称 $dcharset = 'utf8'; // 此处写字符集gbk或者utf8 // 连接ucenter $udb = new PDO ( 'mysql:host=' . $udbserver . ';dbname=' . $udbname, $udbuser, $udbpwd ); if (! $udb) exit ( "ucenter can't connet db" ); $udb->exec ( 'set NAMES ' . $ucharset ); // 连接discuz $ddb = new PDO ( 'mysql:host=' . $ddbserver . ';dbname=' . $ddbname, $ddbuser, $ddbpwd ); if (! $udb) exit ( "discuz can't connet udb" ); $ddb->exec ( 'set NAMES ' . $dcharset ); if (! $ddb) exit ( "can't connet ddb" ); // 实例化图片类 $image = new Image (); $_ENV ['udb'] = $udb; $_ENV ['ddb'] = $ddb; $_ENV ['image'] = $image; global $avatdata; //生产注册时间 for($i = 0; $i < 100010; $i ++) { $times [] = $time = strtotime ( '2012-02-01 00:00:00' ) + mt_rand ( 10000, 30000000 ); } sort($times); //获取用户名列表 $filedata = file_get_contents ( 'users.txt' ); //用户列表数据 $datas = explode ( "\r\n", $filedata ); //开始添加 uc_adduser ( $datas, $times); // UCENTER添加用户 function uc_adduser($data, $times) { $dnumber = count($data); if ($dnumber<NUMBER){ define('NUMBER', $dnumber); } $rsth = $_ENV ['udb']->prepare ( "INSERT INTO " . UPRE . "members SET username=?, password=?, email='" . EMAIL . "', regip='" . IP . "', regdate=?, salt=?" ); $rfth = $_ENV ['udb']->prepare ( "INSERT INTO " . UPRE . "memberfields SET uid=?" ); foreach ( $data as $key => $name ) { $salt = substr ( uniqid ( rand () ), - 6 ); $password = md5 ( md5 ( PASSWORD ) . $salt ); $result =$rsth->execute ( array ( addslashes(trim($name)), $password, $times [$key], $salt ) ); $uid = $_ENV ['udb']->lastInsertId (); if ($uid){ $rfth->execute ( array ( $uid ) ); //激活论坛 ati_dz($uid,$name,$times [$key]); //添加头像 uc_avatar($uid); echo $name."添加成功\n"; }else{ continue; } //添加数量 if ($key > NUMBER) { echo "用户导入完成!"; break; } } } // 添加头像 function uc_avatar($uid) { //头像数据 global $avatdata; $url = "http://image.xxx.com/img/"; if (empty($avatdata)){ $avart = file_get_contents ( 'avatar.txt' ); $avatdata = explode ( "\r\n", $avart ); } $pic = array_pop($avatdata); $bigavatarfile = UCD.get_avatar($uid, 'big'); $middleavatarfile = UCD.get_avatar($uid, 'middle'); $smallavatarfile = UCD.get_avatar($uid, 'small'); $path = dirname($bigavatarfile); if (! file_exists ( $path )) { mkdir ( $path, 0700, true ); } $originpath = UCD.$pic; if(downImg($url.$pic, $originpath)){ $_ENV['image']->bthumb($originpath,200,200,1,true,$bigavatarfile); $_ENV['image']->bthumb($originpath,120,120,1,true,$middleavatarfile); $_ENV['image']->bthumb($originpath,48,48,1,true,$smallavatarfile); } } // 激活论坛 function ati_dz($uid,$username,$time) { $password = md5(random(10)); $_ENV['ddb']->exec( "INSERT INTO `" . DPRE . "common_member` (uid,username,password,adminid,groupid,regdate,email,emailstatus,avatarstatus) VALUES ('$uid','$username', '$password','0','10','$time','".EMAIL."',1,1)"); $_ENV['ddb']->exec(" replace INTO `" . DPRE . "common_member_field_forum` (uid) VALUES ('$uid')"); $_ENV['ddb']->exec(" replace INTO `" . DPRE . "common_member_field_home` (uid) VALUES ('$uid')"); $_ENV['ddb']->exec(" replace INTO `" . DPRE . "common_member_count` (uid) VALUES ('$uid')"); $_ENV['ddb']->exec(" replace INTO `" . DPRE . "common_member_profile` (uid) VALUES ('$uid')"); $_ENV['ddb']->exec(" replace INTO `" . DPRE . "common_member_status` (uid,regip,lastvisit,lastactivity) VALUES ('$uid','127.0.0.1','$time','$time')"); } /** * 自动创建目录并返回文件名 * */ function mkfilename($img, $time) { $info = pathinfo ( $img ); $type = strtolower ( $info ['extension'] ); $path = './datas/uploadimage/images/'; $time = strtotime ( $time ); $filepath = $path . date ( "Y-m", $time ) . '/' . date ( "d", $time ) . '/' . time () . mt_rand ( 10000, 99999 ) . "." . $type; $path = dirname ( $filepath ); if (! file_exists ( $path )) { mkdir ( $path, 0777, true ); } return $filepath; } /** * 下载文件 * */ function downImg($url, $filename) { $ch = curl_init ( $url ); $fp = fopen ( $filename, 'wb+' ); curl_setopt ( $ch, CURLOPT_FILE, $fp ); curl_setopt ( $ch, CURLOPT_HEADER, 0 ); curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, 30 ); curl_setopt ( $ch, CURLOPT_AUTOREFERER, 1 ); curl_exec ( $ch ); $status = curl_getinfo ( $ch ); curl_close ( $ch ); fclose ( $fp ); if ($status ['http_code'] != 200) { @unlink ( $filename ); return false; } else { return true; } } function get_avatar($uid, $size = 'big', $type = '') { $size = in_array($size, array('big', 'middle', 'small')) ? $size : 'big'; $uid = abs(intval($uid)); $uid = sprintf("%09d", $uid); $dir1 = substr($uid, 0, 3); $dir2 = substr($uid, 3, 2); $dir3 = substr($uid, 5, 2); $typeadd = $type == 'real' ? '_real' : ''; return $dir1.'/'.$dir2.'/'.$dir3.'/'.substr($uid, -2).$typeadd."_avatar_$size.jpg"; } function random($length) { $hash = ''; $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz'; $max = strlen($chars) - 1; PHP_VERSION < '4.2.0' && mt_srand((double)microtime() * 1000000); for($i = 0; $i < $length; $i++) { $hash .= $chars[mt_rand(0, $max)]; } return $hash; } /** * 日志记录 * */ function mlog($msg) { $file = "userIDs.text"; $handle = fopen ( $file, 'a+' ); fwrite ( $handle, $msg . "\n" ); fclose ( $handle ); } class Image { /** * 取得图像信息 * * @static * * * @access public * @param string $image * 图像文件名 * @return mixed */ static function getImageInfo($img) { $imageInfo = getimagesize ( $img ); if ($imageInfo !== false) { $imageType = strtolower ( substr ( image_type_to_extension ( $imageInfo [2] ), 1 ) ); $imageSize = filesize ( $img ); $info = array ( "width" => $imageInfo [0], "height" => $imageInfo [1], "type" => $imageType, "size" => $imageSize, "mime" => $imageInfo ['mime'] ); return $info; } else { return false; } } /** * 为图片添加水印 * * @static public * @param string $source * 原文件名 * @param string $water * 水印图片 * @param string $$savename * 添加水印后的图片名 * @param string $alpha * 水印的透明度 * @return void */ static public function water($source, $water, $savename = null, $alpha = 80) { // 检查文件是否存在 if (! file_exists ( $source ) || ! file_exists ( $water )) return false; // 图片信息 $sInfo = self::getImageInfo ( $source ); $wInfo = self::getImageInfo ( $water ); // 如果图片小于水印图片,不生成图片 if ($sInfo ["width"] < $wInfo ["width"] || $sInfo ['height'] < $wInfo ['height']) return false; // 建立图像 $sCreateFun = "imagecreatefrom" . $sInfo ['type']; if (! function_exists ( $sCreateFun )) $sCreateFun = 'imagecreatefromjpeg'; $sImage = $sCreateFun ( $source ); $wCreateFun = "imagecreatefrom" . $wInfo ['type']; if (! function_exists ( $wCreateFun )) $wCreateFun = 'imagecreatefromjpeg'; $wImage = $wCreateFun ( $water ); // 设定图像的混色模式 imagealphablending ( $wImage, true ); // 图像位置,默认为右下角右对齐 $posY = $sInfo ["height"] - $wInfo ["height"] - 4; $posX = $sInfo ["width"] - $wInfo ["width"] - 4; // 生成混合图像 imagecopymerge ( $sImage, $wImage, $posX, $posY, 0, 0, $wInfo ['width'], $wInfo ['height'], $alpha ); // 输出图像 $ImageFun = 'Image' . $sInfo ['type']; if (! function_exists ( $ImageFun )) $ImageFun = 'imagecreatefromjpeg'; // 如果没有给出保存文件名,默认为原图像名 if (! $savename) { $savename = $source; @unlink ( $source ); } // 保存图像 $ImageFun ( $sImage, $savename ); imagedestroy ( $sImage ); } /** * 为图片添加水印 * * @static public * @param string $source * 原文件名 * @param string $water * 水印图片 * @param string $$savename * 添加水印后的图片名 * @param string $alpha * 水印的透明度 * @return void */ static public function water2($source, $water, $savename = null, $alpha = 75) { // 检查文件是否存在 if (! file_exists ( $source ) || ! file_exists ( $water )) return false; // 图片信息 $sInfo = self::getImageInfo ( $source ); $wInfo = self::getImageInfo ( $water ); // 如果图片小于水印图片,不生成图片 if ($sInfo ["width"] < $wInfo ["width"] || $sInfo ['height'] < $wInfo ['height']) return false; // 建立图像 $sCreateFun = "imagecreatefrom" . $sInfo ['type']; if (! function_exists ( $sCreateFun )) $sCreateFun = 'imagecreatefromjpeg'; $sImage = $sCreateFun ( $source ); $wCreateFun = "imagecreatefrom" . $wInfo ['type']; if (! function_exists ( $wCreateFun )) $wCreateFun = 'imagecreatefromjpeg'; $wImage = $wCreateFun ( $water ); // 设定图像的混色模式 imagealphablending ( $wImage, true ); // 图像位置,默认为右下角右对齐 $posY = $sInfo ["height"] - $wInfo ["height"] - 18; $posX = $sInfo ["width"] - $wInfo ["width"] - 18; // 生成混合图像 imagecopymerge ( $sImage, $wImage, $posX, $posY, 0, 0, $wInfo ['width'], $wInfo ['height'], $alpha ); // 输出图像 $ImageFun = 'Image' . $sInfo ['type']; if (! function_exists ( $ImageFun )) $ImageFun = 'imagecreatefromjpeg'; // 如果没有给出保存文件名,默认为原图像名 if (! $savename) { $savename = $source; @unlink ( $source ); } // 保存图像 $ImageFun ( $sImage, $savename ); imagedestroy ( $sImage ); } function showImg($imgFile, $text = '', $x = '10', $y = '10', $alpha = '50') { // 获取图像文件信息 // 2007/6/26 增加图片水印输出,$text为图片的完整路径即可 $info = Image::getImageInfo ( $imgFile ); if ($info !== false) { $createFun = str_replace ( '/', 'createfrom', $info ['mime'] ); $im = $createFun ( $imgFile ); if ($im) { $ImageFun = str_replace ( '/', '', $info ['mime'] ); // 水印开始 if (! empty ( $text )) { $tc = imagecolorallocate ( $im, 0, 0, 0 ); if (is_file ( $text ) && file_exists ( $text )) { // 判断$text是否是图片路径 // 取得水印信息 $textInfo = Image::getImageInfo ( $text ); $createFun2 = str_replace ( '/', 'createfrom', $textInfo ['mime'] ); $waterMark = $createFun2 ( $text ); // $waterMark=imagecolorallocatealpha($text,255,255,0,50); $imgW = $info ["width"]; $imgH = $info ["width"] * $textInfo ["height"] / $textInfo ["width"]; // $y = ($info["height"]-$textInfo["height"])/2; // 设置水印的显示位置和透明度支持各种图片格式 imagecopymerge ( $im, $waterMark, $x, $y, 0, 0, $textInfo ['width'], $textInfo ['height'], $alpha ); } else { imagestring ( $im, 80, $x, $y, $text, $tc ); } // ImageDestroy($tc); } // 水印结束 if ($info ['type'] == 'png' || $info ['type'] == 'gif') { imagealphablending ( $im, FALSE ); // 取消默认的混色模式 imagesavealpha ( $im, TRUE ); // 设定保存完整的 alpha 通道信息 } Header ( "Content-type: " . $info ['mime'] ); $ImageFun ( $im ); @ImageDestroy ( $im ); return; } // 保存图像 $ImageFun ( $sImage, $savename ); imagedestroy ( $sImage ); // 获取或者创建图像文件失败则生成空白PNG图片 $im = imagecreatetruecolor ( 80, 30 ); $bgc = imagecolorallocate ( $im, 255, 255, 255 ); $tc = imagecolorallocate ( $im, 0, 0, 0 ); imagefilledrectangle ( $im, 0, 0, 150, 30, $bgc ); imagestring ( $im, 4, 5, 5, "no pic", $tc ); Image::output ( $im ); return; } } public function bthumb($image, $maxWidth = 200, $maxHeight = 50, $gen = 0, $interlace = true, $filepath = '') { $info = Image::getImageInfo ( $image ); if ($info !== false) { $srcWidth = $info ['width']; $srcHeight = $info ['height']; $type = $info ['type']; $interlace = $interlace ? 1 : 0; unset ( $info ); if ($maxWidth > 0 && $maxHeight > 0) { // $scale = min($maxWidth/$srcWidth, $maxHeight/$srcHeight); // // 计算缩放比例 // 改为以宽度缩放 $scale = $maxWidth / $srcWidth; } elseif ($maxWidth == 0) $scale = $maxHeight / $srcHeight; elseif ($maxHeight == 0) $scale = $maxWidth / $srcWidth; if ($scale >= 1) { // 超过原图大小不再缩略 $width = $srcWidth; $height = $srcHeight; } else { // 缩略图尺寸 $width = ( int ) ($srcWidth * $scale); $height = ( int ) ($srcHeight * $scale); } if ($gen == 1) { $width = $maxWidth; $height = $maxHeight; } $paths = pathinfo ( $image ); $ext = Image::fileExt ( $image ); if (empty ( $filepath )) $thumbname = str_replace ( '.' . $paths ['extension'], '', $image ) . '_' . $maxWidth . 'x' . $maxHeight . '.' . $ext; else $thumbname = $filepath; // 载入原图 $createFun = 'imagecreatefrom' . ($type == 'jpg' ? 'jpeg' : $type); if (! function_exists ( $createFun )) $createFun = 'imagecreatefromjpeg'; $srcImg = $createFun ( $image ); // 创建缩略图 if ($type != 'gif' && function_exists ( 'imagecreatetruecolor' )) $thumbImg = imagecreatetruecolor ( $width, $height ); else $thumbImg = imagecreate ( $width, $height ); $x = 0; $y = 0; if ($gen == 1 && $maxWidth > 0 && $maxHeight > 0) { $resize_ratio = $maxWidth / $maxHeight; $src_ratio = $srcWidth / $srcHeight; if ($src_ratio >= $resize_ratio) { $x = ($srcWidth - ($resize_ratio * $srcHeight)) / 2; $width = ($height * $srcWidth) / $srcHeight; } else { $y = ($srcHeight - ((1 / $resize_ratio) * $srcWidth)) / 2; $height = ($width * $srcHeight) / $srcWidth; } } $x = 0; $y = 0; // 复制图片 if (function_exists ( "imagecopyresampled" )) imagecopyresampled ( $thumbImg, $srcImg, 0, 0, $x, $y, $width, $height, $srcWidth, $srcHeight ); else imagecopyresized ( $thumbImg, $srcImg, 0, 0, $x, $y, $width, $height, $srcWidth, $srcHeight ); if ('gif' == $type || 'png' == $type) { $background_color = imagecolorallocate ( $thumbImg, 0, 0, 0 ); // 指派一个绿色 imagecolortransparent ( $thumbImg, $background_color ); // 设置为透明色,若注释掉该行则输出绿色的图 } // 对jpeg图形设置隔行扫描 if ('jpg' == $type || 'jpeg' == $type) imageinterlace ( $thumbImg, $interlace ); // 生成图片 if (function_exists ( 'imagefilter' )) imagefilter ( $thumbImg, IMG_FILTER_CONTRAST, - 1 ); // 保存图片 imagejpeg ( $thumbImg, $thumbname, 100 ); imagedestroy ( $thumbImg ); imagedestroy ( $srcImg ); return $thumbname; } return false; } /** * 生成缩略图 * * @static * * * * * * * * * * @access public * @param string $image * 原图 * @param string $type * 图像格式 * @param string $thumbname * 缩略图文件名 * @param string $maxWidth * 宽度 * @param string $maxHeight * 高度 * @param string $position * 缩略图保存目录 * @param boolean $interlace * 启用隔行扫描 * @return void */ static function thumb($image, $thumbname, $type = '', $maxWidth = 200, $maxHeight = 50, $interlace = true) { // 获取原图信息 $info = Image::getImageInfo ( $image ); if ($info !== false) { $srcWidth = $info ['width']; $srcHeight = $info ['height']; $type = empty ( $type ) ? $info ['type'] : $type; $type = strtolower ( $type ); $interlace = $interlace ? 1 : 0; unset ( $info ); $scale = min ( $maxWidth / $srcWidth, $maxHeight / $srcHeight ); // 计算缩放比例 if ($scale >= 1) { // 超过原图大小不再缩略 $width = $srcWidth; $height = $srcHeight; } else { // 缩略图尺寸 $width = ( int ) ($srcWidth * $scale); $height = ( int ) ($srcHeight * $scale); } // 载入原图 $createFun = 'ImageCreateFrom' . ($type == 'jpg' ? 'jpeg' : $type); if (! function_exists ( $createFun )) { return false; } $srcImg = $createFun ( $image ); // 创建缩略图 if ($type != 'gif' && function_exists ( 'imagecreatetruecolor' )) $thumbImg = imagecreatetruecolor ( $width, $height ); else $thumbImg = imagecreate ( $width, $height ); // png和gif的透明处理 by luofei614 if ('png' == $type) { imagealphablending ( $thumbImg, false ); // 取消默认的混色模式(为解决阴影为绿色的问题) imagesavealpha ( $thumbImg, true ); // 设定保存完整的 alpha // 通道信息(为解决阴影为绿色的问题) } elseif ('gif' == $type) { $trnprt_indx = imagecolortransparent ( $srcImg ); if ($trnprt_indx >= 0) { // its transparent $trnprt_color = imagecolorsforindex ( $srcImg, $trnprt_indx ); $trnprt_indx = imagecolorallocate ( $thumbImg, $trnprt_color ['red'], $trnprt_color ['green'], $trnprt_color ['blue'] ); imagefill ( $thumbImg, 0, 0, $trnprt_indx ); imagecolortransparent ( $thumbImg, $trnprt_indx ); } } // 复制图片 if (function_exists ( "ImageCopyResampled" )) imagecopyresampled ( $thumbImg, $srcImg, 0, 0, 0, 0, $width, $height, $srcWidth, $srcHeight ); else imagecopyresized ( $thumbImg, $srcImg, 0, 0, 0, 0, $width, $height, $srcWidth, $srcHeight ); // 对jpeg图形设置隔行扫描 if ('jpg' == $type || 'jpeg' == $type) imageinterlace ( $thumbImg, $interlace ); // 生成图片 $imageFun = 'image' . ($type == 'jpg' ? 'jpeg' : $type); $imageFun ( $thumbImg, $thumbname ); imagedestroy ( $thumbImg ); imagedestroy ( $srcImg ); return $thumbname; } return false; } static function output($im, $type = 'png', $filename = '') { header ( "Content-type: image/" . $type ); $ImageFun = 'image' . $type; if (empty ( $filename )) { $ImageFun ( $im ); } else { $ImageFun ( $im, $filename ); } imagedestroy ( $im ); } /** * 获取文件扩展名 * * @return string */ function fileExt($file_name) { return addslashes ( strtolower ( substr ( strrchr ( $file_name, '.' ), 1, 10 ) ) ); } } ?>
discuz批量注册马甲相关推荐
- 批量注册、模拟登陆很难吗?一个Python爬虫案例告诉你答案!
**批量注册:**自动化批量注册账号,我见过很多人利用selenium这个自动化框架做,但是速度太慢. **模拟登陆:**这里要说明一下,其实你注册一个账号=模拟登陆一个账号,这个原理其实是一样的. ...
- 短信hz,批量注册、模拟登陆很难吗?一个Python爬虫案例告诉你答案!
批量注册:自动化批量注册账号,我见过很多人利用selenium这个自动化框架做,但是速度太慢. 模拟登陆:这里要说明一下,其实你注册一个账号=模拟登陆一个账号,这个原理其实是一样的. 我前面说了sel ...
- 批量注册163邮箱的代码
下面是我做的一段批量注册163邮箱的代码,经测试是有效的能够批量注册邮箱,可以换成其他的.欢迎大家 欣赏啊,请不要用于不正当的途径. using System; using System.Collec ...
- Discuz 批量修改、替换帖子标题或内容
修改标题用这个 Discuz批量修改标题 省心版(xcmodifytitle)_Discuz插件_Discuz应用中心 修改内容可以用这个 Discuz批量修改帖子内容 省 ...
- Ebay跨境智星:全自动批量注册及下单软件
Ebay跨境智星是一款可以批量注册ebay买家号.批量绑定地址及信用卡.批量加购加心愿单.自动下单的软件. 功能使用: 关于注册:注册账号需要准备邮箱,邮箱一般建议使用开通了pop或者IMAP协议的, ...
- 账号批量注册软件开发启示录
想做一个账号批量注册的软件.不知道具体思路是什么样子的.现在搞起来看看..有愿意分享一下的么? 我现在的思路是,找到网址,找到注册页面的链接,然后自动生成用户名密码什么的,然后填写验证码,然后注册成功 ...
- 亚马逊鲲鹏系统:批量注册亚马逊买家号软件
之前我们有谈到过,想要注册亚马逊买家号,需要邮箱.ip.信用卡.收货地址和手机号.自己手动注册一个一个的太麻烦,还会花费大量的时间,那么有没有可以节约时间的自动化操作软件呢?想要自动化操作软件,来试试 ...
- WEB安全新玩法 [11] 防范批量注册
网站的攻击者通过批量注册用户,能够实施大规模非法操作,如抢优惠券.恶意刷单等.这给服务商造成了直接的经济损失,而大量的垃圾用户也会占用系统资源,增加系统运行压力.防范批量注册需要针对系统特点,多管齐下 ...
- 常用的个人电子邮箱有哪些?什么邮箱可以批量注册?哪个邮箱群发好用?
常用的个人电子邮箱有QQ邮箱.163邮箱.TOM VIP邮箱.Gmail等,这么多邮箱我们在注册时前缀要注意哪些呢? [商务办公邮箱]--正式.容易记住1,如果不是频繁地和老外打交道,别用英文名在邮箱 ...
最新文章
- manjaro mysql_如何看待manjaro的软件仓库连个mysql都没有?
- 红黑树 键值_查找(一)史上最简单清晰的红黑树讲解
- DPVS_DPVS配置说明
- Andriod --- JetPack (六):Room 增删改查
- android动态更改布局宽高,动态更改Android上的线性布局宽度或高度
- 怎么将数据进行正太转化_想要将电脑音频进行录制怎么操作
- linux 内核 报错,根据epc定位linux内核报错.pdf
- linux下常用FTP命令
- @@IDENTITY与SCOPE_IDENTITY()
- 计网期末复习 - 子网划分
- java共享密匙验证身份实例_有关java的身份验证连接数据库的一段代码,大侠来看看~...
- directx9 截屏
- 云计算之存储即服务 - 存储区域网络(SAN)
- 2015年总结与感悟
- 【区块链108将】流量之王的48小时生死转折
- 大招流的英雄没法子混了啊!----- dota 6.72新英雄
- 做ctf题目的时候运行程序就会显示ImportError: cannot import name ‘flag‘ from ‘secret‘ 求大佬解答
- Serendipity 自动打包上传、Xcode相关文件管理
- 测试人员必备工作技能
- C++模板/泛型编程
热门文章
- 乡村振兴齐鲁论坛 万企兴万村-万祥军:发挥全国工商联作用
- python生成环形树状图-networkx
- idea如何调试下一步代码?
- 服务器皮肤显示mod怎么用,如何配置皮肤 Mod · printempw/blessing-skin-server Wiki · GitHub...
- 【转】关于NFS讨论 参数说明
- 科学道德与学风-2021雨课堂答案-第2章
- sockaddr、sockaddr_in、sockaddr_in6的区别及转换
- sockaddr地址结构——socket
- 9 2019-Jointly Discriminative and Generative Recurrent Neural Networks for Learning from fMRI
- acwing 3115 bzoj2054 疯狂的馒头