Last modified: 2014-11-12 14:47:37 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T61835, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 59835 - Flow: adding external links should trigger CAPTCHA
Flow: adding external links should trigger CAPTCHA
Status: NEW
Product: MediaWiki extensions
Classification: Unclassified
Flow (Other open bugs)
master
All All
: High normal (vote)
: ---
Assigned To: Nobody - You can work on this!
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-01-08 21:34 UTC by spage
Modified: 2014-11-12 14:47 UTC (History)
4 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description spage 2014-01-08 21:34:42 UTC
$wgCaptchaTriggers['addurl'] defaults to true, so that if a user (new? not-confirmed?) adds an external link to a wiki page, he or she is prompted with a CAPTCHA:

  Your edit includes new external links. To protect the wiki against automated edit spam, we kindly ask you to answer the question that appears below (more info):

But this doesn't happen for Flow posts or header edits, and it probably should. This may be a contributing factor to our recent spam attack.
Comment 1 Bingle 2014-01-08 21:45:29 UTC
The WMF core features team tracks this bug on Mingle card https://wikimedia.mingle.thoughtworks.com/projects/flow/cards/704, but people from the community are welcome to contribute here and in Gerrit.
Comment 2 Gerrit Notification Bot 2014-06-25 11:07:06 UTC
Change 138332 had a related patch set uploaded by Spage:
[WIP] ConfirmEdit, captcha version

https://gerrit.wikimedia.org/r/138332
Comment 3 Gerrit Notification Bot 2014-07-08 10:08:42 UTC
Change 144664 had a related patch set uploaded by Matthias Mullie:
ConfirmEdit, captcha version

https://gerrit.wikimedia.org/r/144664
Comment 4 Gerrit Notification Bot 2014-07-08 10:09:07 UTC
Change 138332 abandoned by Matthias Mullie:
[WIP] ConfirmEdit, captcha version

Reason:
New patch at https://gerrit.wikimedia.org/r/#/c/144664/

https://gerrit.wikimedia.org/r/138332
Comment 5 Gerrit Notification Bot 2014-07-09 04:41:30 UTC
Change 144664 merged by jenkins-bot:
ConfirmEdit, captcha version

https://gerrit.wikimedia.org/r/144664
Comment 6 Quiddity 2014-08-01 06:18:55 UTC
This patch was merged, but there's an extensive commit message, which might need further bugs filed, so I'll paste that, and leave this bug open:



ConfirmEdit, captcha version


This will now display the captcha to be solved in the error message.

Some caveats we may want to keep in the back of our heads:

1/ Biggest potential problem here is, upon successfully completing the submitted
post (with ConfirmEdit solution), the API will respond that the ConfirmEdit
params were unused.
This happens because those params aren't requested via the API's designated
getParameter methods (or even defined in the API's getAllowedParams).
ConfirmEdit just fetches them from the Request object.

Basically, this happens because I treat the ConfirmEdit implementation as not-
API. It has *some* (very limited) API stuff that I *could* use (if I modified
ConfirmEdit a bit). However, ConfirmEdit's API part doesn't render the form, so
that would be left up to us (= Flow), which is something I don't want to have to
do, since there are multiple Captcha types.

So basically, due to how this is implemented, the API will always respond with a
warning after succesfully submitting the correct captcha solution. That warning
won't affect anything, but might potentially be confusing to bot authors.

2/ Along with the captcha form HTML, some captcha implementations need some
CSS/JS. Those are extracted from $wgOut & responded along with the form HTML.
There's no arguing that this is not the best kind of programming, but since
ConfirmEdit is messy, has multiple different implementations & completely
outside of Flow, this currently seems to be the best solution. And it works ;)
Comment 7 Andre Klapper 2014-11-12 14:47:37 UTC
[All related patches merged or abandoned; resetting bug report status.]

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links