WordPress.org

Make WordPress Core

Opened 10 years ago

Closed 10 years ago

Last modified 8 years ago

#1713 closed defect (bug) (fixed)

User-Agent Used to Confirm Pingbacks Should not be Blank

Reported by: macmanx Owned by: markjaquith
Milestone: Priority: high
Severity: major Version: 1.5.2
Component: XML-RPC Keywords: pingback user-agent bg|has-patch bg|commit
Focuses: Cc:

Description

[[Note: While this problem has been caused by a plugin, I do believe that it is a WordPress issue.]]

Currently, WordPress seems to confirm pingbacks using a blank user-agent. This is a common technique used by spammers to avoid spam filters, and as such, it is now blocked by Michael Hampton's "Bad Behavior" v1.2.2. Any attempt to send a pingback while using Bad Behavior v1.2.2 will fail, because the confirmation request from the pinged blog will be blocked for having no user-agent. While this problem has been caused by a plugin, I do believe that it is a WordPress issue. WordPress should not be using common spamming techniques. And, after all, why not identify WordPress' confirmation requests with a user-agent like "WordPress"?

Michael Hampton's "Bad Behavior" can be found here: http://www.ioerror.us/software/bad-behavior/

Attachments (1)

functions.diff (477 bytes) - added by error 10 years ago.
patch wp-includes/functions.php fixes this issue

Download all attachments as: .zip

Change History (8)

comment:1 @error10 years ago

  • Component changed from General to XML-RPC

The root cause of the problem is that there's a lot of duplicate code in WP as regards making outbound HTTP connections. Instead of just adding a user-agent here, I would suggest actually cleaning house and getting rid of all the duplicate code.

comment:2 @markjaquith10 years ago

Yeah, we need to consolidate everything into one function, which makes judgements about what methods are supported on the server, and then behaves similarly in terms of user agent whichever method chosen.

@error10 years ago

patch wp-includes/functions.php fixes this issue

comment:3 @error10 years ago

  • Milestone set to 1.6

I dropped in a quick patch which puts a user-agent string in the outbound connections; it'll get you up and running for now, but long-term a lot of this duplicate code really should be consolidated.

comment:4 @error10 years ago

  • Keywords bg|has-patch bg|commit added; removed

comment:5 @markjaquith10 years ago

  • Owner changed from anonymous to markjaquith
  • Status changed from new to assigned

comment:6 @ryan10 years ago

  • Resolution set to fixed
  • Status changed from assigned to closed

(In [2933]) Send User-Agent when confirming pingbacks. Props error. fixes #1713

comment:7 @anonymous8 years ago

  • Milestone 2.0 deleted

Milestone 2.0 deleted

Note: See TracTickets for help on using tickets.