今天没事瞎点 点到 凤凰网的一个链接了 http://yue.ifeng.com/y/detail_2011_12/07/11160676_0.shtml评论框 内容是 :文明上网,登陆评论! 直接点按钮 js alert 请填写评论内容 再点一下文本框 文本框内容变成:请您先登录,再发布评论。再点按钮 就提交了打开的页面中的最新评论里就有了。然后我就复制了部分html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html"; charset="utf-8">
</head>
<body>
<form method="post" target='_blank' action="http://comment.ifeng.com/post.php" id="commentForm" name="commentForm">
<textarea onclick="changeBox();" class="" cols="50" rows="10" id="content" name="content">bbbbbbbbbbb</textarea>
<input type="hidden" value="11160676" name="docId">
<input type="hidden" value="吴卓羲女友张馨予家中大尺度内衣自拍照火辣曝光" name="docName">
<input type="hidden" value="http://yue.ifeng.com/y/detail_2011_12/07/11160676_0.shtml" name="docUrl">
<input type="hidden" value="21202" name="chId">
<input type="submit" style="margin-left:20px; display:inline" value="xxxxxxxxxxxx" >
</form>
</body>
</html>提交了就有了。
然后想到用curl post 模拟form的效果 但是没试成功 可能是 少了一些东西header("content-type:text/html;charset:utf-8;");
/*
chId 21202
content mmmmmmmmm
docId 11160676
docName 吴卓羲女友张馨予家中大尺度内衣自拍照火辣曝光
docUrl http://yue.ifeng.com/y/detail_2011_12/07/11160676_0.shtml
*/
$url = "http://comment.ifeng.com/post.php";
//$url = "http://localhost/php/index.php";
$data = array(
'content'=>'xxxxxxxxxxoooooooooooo',
'docId'=>11160676,
'docName'=>'吴卓羲女友张馨予家中大尺度内衣自拍照火辣曝光',
'docUrl'=>'http://yue.ifeng.com/y/detail_2011_12/07/11160676_0.shtml',
'chId'=>21202
);
$ret = http_post($url,$data);
var_dump($ret);function http_post($url, $data)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
$data = http_build_query($data);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_REFERER, "http://yue.ifeng.com/y/detail_2011_12/07/11160676_0.shtml");
$cookie = "userid=1323532473389_2814";
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
$rs = curl_exec($ch);
curl_close($ch);
return $rs;
}
碰到的问题是:
1.评论的东西 人的头像跟其他不一样 是灰色的 正常的是银灰的。我换了浏览器 打开链接 没看到 灌水的内容 然后我用firebug 的firecookie插件看了一下 cookie 发现有 userid 和 cmtids 没灌水一个 cmtids 就多一个http://comment.ifeng.com/view.php?doc_url=http%3A%2F%2Fyue.ifeng.com%2Fy%2Fdetail_2011_12%2F07%2F11160676_0.shtml&doc_name=%E5%90%B4%E5%8D%93%E7%BE%B2%E5%A5%B3%E5%8F%8B%E5%BC%A0%E9%A6%A8%E4%BA%88%E5%AE%B6%E4%B8%AD%E5%A4%A7%E5%B0%BA%E5%BA%A6%E5%86%85%E8%A1%A3%E8%87%AA%E6%8B%8D%E7%85%A7%E7%81%AB%E8%BE%A3%E6%9B%9D%E5%85%89&ishot=no我清理cookie 刷新页面 cookie出现 userid = 1323533123324_5513
用上面的html提交一下 就出现 cmtids = 45583 再来一次 cmtids = 45583_45612
清理cookie 就没了 2.为啥要暂存这样的评论呢?既然是要登录后才能评论js没判断好到最新评论页显示了个假的?小弟才疏学浅,没事瞎捣鼓了一下,望各位大侠帮忙分析一下嘎嘎
<html>
<head>
<meta http-equiv="Content-Type" content="text/html"; charset="utf-8">
</head>
<body>
<form method="post" target='_blank' action="http://comment.ifeng.com/post.php" id="commentForm" name="commentForm">
<textarea onclick="changeBox();" class="" cols="50" rows="10" id="content" name="content">bbbbbbbbbbb</textarea>
<input type="hidden" value="11160676" name="docId">
<input type="hidden" value="吴卓羲女友张馨予家中大尺度内衣自拍照火辣曝光" name="docName">
<input type="hidden" value="http://yue.ifeng.com/y/detail_2011_12/07/11160676_0.shtml" name="docUrl">
<input type="hidden" value="21202" name="chId">
<input type="submit" style="margin-left:20px; display:inline" value="xxxxxxxxxxxx" >
</form>
</body>
</html>提交了就有了。
然后想到用curl post 模拟form的效果 但是没试成功 可能是 少了一些东西header("content-type:text/html;charset:utf-8;");
/*
chId 21202
content mmmmmmmmm
docId 11160676
docName 吴卓羲女友张馨予家中大尺度内衣自拍照火辣曝光
docUrl http://yue.ifeng.com/y/detail_2011_12/07/11160676_0.shtml
*/
$url = "http://comment.ifeng.com/post.php";
//$url = "http://localhost/php/index.php";
$data = array(
'content'=>'xxxxxxxxxxoooooooooooo',
'docId'=>11160676,
'docName'=>'吴卓羲女友张馨予家中大尺度内衣自拍照火辣曝光',
'docUrl'=>'http://yue.ifeng.com/y/detail_2011_12/07/11160676_0.shtml',
'chId'=>21202
);
$ret = http_post($url,$data);
var_dump($ret);function http_post($url, $data)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
$data = http_build_query($data);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_REFERER, "http://yue.ifeng.com/y/detail_2011_12/07/11160676_0.shtml");
$cookie = "userid=1323532473389_2814";
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
$rs = curl_exec($ch);
curl_close($ch);
return $rs;
}
碰到的问题是:
1.评论的东西 人的头像跟其他不一样 是灰色的 正常的是银灰的。我换了浏览器 打开链接 没看到 灌水的内容 然后我用firebug 的firecookie插件看了一下 cookie 发现有 userid 和 cmtids 没灌水一个 cmtids 就多一个http://comment.ifeng.com/view.php?doc_url=http%3A%2F%2Fyue.ifeng.com%2Fy%2Fdetail_2011_12%2F07%2F11160676_0.shtml&doc_name=%E5%90%B4%E5%8D%93%E7%BE%B2%E5%A5%B3%E5%8F%8B%E5%BC%A0%E9%A6%A8%E4%BA%88%E5%AE%B6%E4%B8%AD%E5%A4%A7%E5%B0%BA%E5%BA%A6%E5%86%85%E8%A1%A3%E8%87%AA%E6%8B%8D%E7%85%A7%E7%81%AB%E8%BE%A3%E6%9B%9D%E5%85%89&ishot=no我清理cookie 刷新页面 cookie出现 userid = 1323533123324_5513
用上面的html提交一下 就出现 cmtids = 45583 再来一次 cmtids = 45583_45612
清理cookie 就没了 2.为啥要暂存这样的评论呢?既然是要登录后才能评论js没判断好到最新评论页显示了个假的?小弟才疏学浅,没事瞎捣鼓了一下,望各位大侠帮忙分析一下嘎嘎
好像没登录的 发表的还是显示 只是要过一段时间 估计有计划任务在跑吧
我之前发的一些 “搞死你。” 的头像好像变成银灰色了 也就是正常显示了
那些 mmmmmm nnnnnnnnn bbbbbbbb 估计被排掉了那如果是这样的话,如果把curl post 模拟表单动作弄好了 写个循环 10万次(或者死循环。。) 那情况是不是不太好?
————————————————————————————————
基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)