urls – ¿Detecta una URL de WordPress sin hacer un HTTP GET completo?

Pregunta:

Estoy tratando de escribir una rutina de un solo cuadro que le dé a las entradas de blog de WordPress un tratamiento especial. Así que, dada una URL simple y sin adornos en el contenido, como

http://blog.stackoverflow.com/2011/03/a-new-name-for-stack-overflow-with-surprise-ending/

¿Cómo detectaría que se trata de una instalación de WordPress, idealmente sin realizar un HTTP GET completo en cada URL que veo?

Ciertamente, existen convenciones comunes para las URL de WordPress con las que podríamos comenzar, lo que elimina al menos algunas URL de la contención. En este caso lo es …

http://example.com/year/month/slug-goes-here

Pero esa tampoco es una constante universal.

Intenté mirar los encabezados de esa URL usando HTTP HEAD , y veo:

Connection:Keep-Alive
Content-Encoding:gzip
Content-Length:18340
Content-Type:text/html; charset=UTF-8
Date:Thu, 07 Jun 2012 07:07:38 GMT
Keep-Alive:timeout=15, max=100
Server:Apache/2.2.9 (Ubuntu) DAV/2 PHP/5.2.6-2ubuntu4.2 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g
Vary:Cookie,Accept-Encoding
WP-Super-Cache:Served legacy cache file
X-Pingback:http://blog.stackoverflow.com/xmlrpc.php
X-Powered-By:PHP/5.2.6-2ubuntu4.2

No creo que confiar en la presencia de WP-Super-Cache sea ​​particularmente confiable, y eso es lo único que veo en los encabezados que ayudaría, por lo que tal vez no haya ningún encabezado HTTP común en una instalación de WordPress.

Respuesta:

Desde mi experiencia y la búsqueda rápida de código, no hay formas deliberadas de que WP se identifique en los encabezados. Sin embargo, hay algunos que parecen lo suficientemente distintos y no es probable que se personalicen.

HEAD to /wp-login.php contendrá lo siguiente para la instalación de .org:

 Set-Cookie: wordpress_test_cookie=WP+Cookie+check; path=/

Y para .com:

Set-Cookie: wordpress_test_cookie=WP+Cookie+check; path=/; domain=.wordpress.com

El nombre de la cookie se puede personalizar mediante la definición de la constante TEST_COOKIE , pero la cadena de WP Cookie check está codificada en el núcleo, así como la llamada set_cookie() para esto en la fuente del archivo.

Para localizar wp-login.php hay algunos atajos de URL (implementados en wp_redirect_admin_locations() desde WP 3.4 (ver ticket # 19607 ):

/login en la raíz del sitio 302 redirecciona a wp-login.php , donde sea que esté.

Entonces, el único escenario que no se puede detectar de manera confiable si WP está instalado y confinado en un subdirectorio, sin usarse para administrar la raíz del sitio en absoluto.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım