如何使用程序添加评论

当然题目也可以改称如何成为水军,因为可能会被滥用(我到现在为止,并没有见到有人公开谈论刷评论的原理),我只会贴出少量代码。

其实登录一个网站也好,评论一篇文章也罢,甚至是发表一篇博文,其实都是网站跟“黑客”之间的较量,网站使用各种隐藏的黑科技去验证你是否是机器人,即使这可能会影响体验,而“黑客”则是抓取一切可以利用的东西,知道分析出你验证的方式。

我一直觉得,如果家大业大,有人24小时值班守候的情况,还是别搞这些方式的好。csdn一直是我深恶痛绝的网站,现在有几个网站连修改博文也要输入验证码的?发表博文还要人工审核,真是落后太久,用户体验也很差。我前几篇文章已经说过了csdn经常屏蔽我从服务器的访问,而且还是用浏览器的访问。

豆瓣也是一样,当发表评论的时候,发现豆娘要5、6秒的时间去响应,我只发表了几个字而已!主要原因就是豆娘使用了较多的审核手段,以确保你是用浏览器访问的。

相对而言,知乎就实在是太好了,登录几乎不用验证码,评论也只是有个xsrf的校验而已,响应几乎就是实时的。

这篇文章就说说豆瓣都是靠什么手段去审核的。

首先依然是分析post 的内容:


这个我以前分析过,对着号码一个一个找就是了。ck来自cookie,ref_cid是文章编号,start是评论区所在的页的起始数,从之前的get返回的网页可以抓取到。其他的都是静态的。

但是我这样post过去了,发现豆瓣直接就拒绝了。豆瓣这点做的很好,它并不会提醒已经拒绝你了,返回给你原来的网页,想要知道成不成功,只能手动检查网页。相对来说,知乎实在是太友好了,还会返回一个forbidden警告。

我实在是很苦恼,因为不知道自己错在了哪里。后来我一点一点检查,发现get请求的headers和post请求的headers不一样。


对,就是多了后面那两项,根据名字判断,跟评论区有关。第一个应该是评论区的性质之类的,是静态的,直接拿过来就是了。第二个是什么呢?

多去评论几次,很容易发现,评论字数越多,数字越大。然后我发现只要把post的内容从字典转成字符串,基本八九不离十。然后我发现了这个:


这个字符串的长度刚好就是content-length,每次发送前,计算一下长度,放到headers中即可。

另外还发现了一点会被审查的地方,header中的POST请求:


其中的topic编号应该会查,referer也是一个很好的审查的点。

只要headers做的足够真,基本都可以评论成功。

总结一下:当一个评论的请求发送到豆瓣那边去的时候,豆瓣首先就是计算整个数据的长度,看看跟headers中的是否一致,不一致则直接拒绝。

然后检查post_data,其中ck是用来检查cookies是否合格,ref_cid则可以快速定位回复的人(用来发提醒给对方),start可以用来让评论停留在那一页。

如果是疑问用户,可以继续检查request-line和referer,看看是否可疑。

豆娘还真是用心良苦啊,辛苦了。

鉴于讲的太直白了,就不贴代码了。



程序中的Textarea组件可以用来实现评论功能。Textarea是一个可以输入多行文本的输入框,用户可以在其中输入评论内容,并将其提交给服务器保存或展示给其他用户。 要使用Textarea组件实现评论功能,首先在小程序页面的wxml文件中添加Textarea标签,设置其属性,如绑定评论内容的变量名、初始占位文本等。然后在对应的js文件中,通过监听Textarea的输入事件,将输入内容保存到绑定的变量中。 接下来,在用户点击提交按钮或发送评论时,可以通过调用小程序的API,将评论内容提交到服务器进行保存。例如,可以使用程序的网络请求API中的post方法,将评论内容发送给后端接口,并处理服务器返回的结果。 另外,可以在页面中展示已有的评论内容。可以使用程序的列表渲染功能,将服务器返回的评论数据循环展示在页面上。可以通过在wxml文件中添加一个列表组件,将每条评论渲染为一个item,在对应的js文件中动态设置列表的数据源,使其展示服务器保存的评论。 还可以添加额外的功能,如评论的点赞、回复等操作。可以通过为评论组件添加按钮或其他交互元素,绑定对应的事件处理函数,实现点赞、回复等功能。这些操作可以通过调用API或发送请求到服务器来实现。 总之,使用Textarea组件可以很方便地实现评论功能,用户可以输入评论内容并提交到服务器保存,同时也可以展示已有的评论内容。可以根据需求扩展额外的功能,提升用户的交互体验。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值