একটি পূর্ণ HTTP GET না করে কোনও ওয়ার্ডপ্রেস ইউআরএল সনাক্ত করা হচ্ছে?


21

আমি এমন একটি ওয়ানবক্সিং রুটিন লেখার চেষ্টা করছি যা ওয়ার্ডপ্রেস ব্লগগুলিকে বিশেষ চিকিত্সা দেয়। সুতরাং সামগ্রীতে একটি সাধারণ, অযৌক্তিক URL দেওয়া হয়েছে

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

আমি কীভাবে সনাক্ত করব যে এটি কোনও ওয়ার্ডপ্রেস ইনস্টলেশন, আদর্শভাবে আমি প্রতি URL টিতে সম্পূর্ণ HTTP GET না করেই করব?

ওয়ার্ডপ্রেস ইউআরএলগুলির জন্য অবশ্যই প্রচলিত কনভেনশন রয়েছে যা আমরা শুরু করতে পারি, যা কমপক্ষে কিছু URL টি বিতর্ক থেকে সরিয়ে দেয়। এই ক্ষেত্রে এটি ...

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

তবে এটি সর্বজনীন ধ্রুবকও নয়।

আমি HTTP হেড ব্যবহার করে সেই URL টির শিরোনামগুলি দেখার চেষ্টা করেছি এবং আমি দেখতে পাচ্ছি:

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

আমি মনে করি না যে উপস্থিতির উপর নির্ভর WP-Super-Cacheকরা বিশেষভাবে নির্ভরযোগ্য হবে এবং আমি কেবল শিরোনামগুলিতে দেখি যা সাহায্য করবে, তাই কোনও ওয়ার্ডপ্রেস ইনস্টলটিতে শূন্য সাধারণ এইচটিটিপি শিরোনাম থাকতে পারে?


স্পষ্ট করে বলার জন্য - আপনি নিজেরাই কেবলমাত্র স্ব। হোস্টেড ইন্সটলগুলি বা .com এ আগ্রহী?
বিরল

সমস্ত ওয়ার্ডপ্রেস ইনস্টল - যে কোনও ওয়ার্ডপ্রেস ইনস্টল করুন
জেফ আতউড

1
আপনি কি আরএসএস ফিড পৃষ্ঠাতে 200 এর জন্য পরীক্ষা করতে পারেন?
কেভিন বার্ক

1
কেন আপনি এই ঠিক চান? মিথ্যা ধনাত্মক বা মিথ্যা নেতিবাচক আরও খারাপ হয়? ওয়ার্ডপ্রেসের পৃষ্ঠাগুলি উত্পন্ন করে এবং পর্যায়ক্রমে সমস্ত পৃষ্ঠার একটি স্ট্যাটিক ডাম্প রফতানি করে এমন কোনও সাইটের সম্পর্কে কী বলা যায়? (উদাঃ thespace.org )
rjmunro

উত্তর:


17

আমার অভিজ্ঞতা এবং দ্রুত কোড অনুসন্ধান থেকে কোনও ইচ্ছাকৃত উপায় নেই যা ডাব্লুপি নিজেকে শিরোনামে সনাক্ত করে। তবে কিছু আছে যা যথেষ্ট স্বতন্ত্র বলে মনে হচ্ছে এবং কাস্টমাইজ হওয়ার সম্ভাবনা নেই।

হেড /wp-login.phpহেডে .org ইনস্টলের জন্য নিম্নলিখিতগুলি থাকবে:

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

.Com এর জন্য:

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

TEST_COOKIEধ্রুবক সংজ্ঞায়িত করে কুকির নাম কাস্টমাইজযোগ্য , তবে WP Cookie checkস্ট্রিংটি হার্ডকোডযুক্ত, পাশাপাশি set_cookie()ফাইলের উত্সে এটির জন্য কল করুন।

অবস্থান নির্ধারণের জন্য wp-login.phpকিছু ইউআরএল শর্টকাট রয়েছে ( wp_redirect_admin_locations()ডাব্লুপি ৩.৪ থেকে কার্যকর হয়েছে (টিকিট # 19607 দেখুন ):

/loginসাইটের মূলটি যেখানেই থাকুক না কেন, 302পুনর্নির্দেশ করে wp-login.php

সুতরাং একমাত্র দৃশ্যের যা নির্ভরযোগ্যভাবে সনাক্ত করা যায় না যদি ডাব্লুপি ইনস্টল করা হয় এবং সাব-ডিরেক্টরিতে সীমাবদ্ধ থাকে তবে একেবারে সাইটের রুট পরিচালনা করতে ব্যবহার না করেই।


12

অনুরূপ ডিরেক্টরিতে HEADঅনুরোধ পাঠান (এমনকি সাব-ডিরেক্টরি ডিরেক্টরিতেও)। ওয়ার্ডপ্রেসে আপনি স্ট্রিংযুক্ত প্রতিক্রিয়া হিসাবে একটি শিরোনাম পাবেন ।/wp-feed.php/xmlrpc.phpLocationfeed

আপনার উদাহরণে blog.stackoverflow.comআপনি পাবেন:

HTTP/1.1 301 Moved Permanently\r\n
Date: Thu, 07 Jun 2012 07:30:10 GMT\r\n
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\r\n
X-Powered-By: PHP/5.2.6-2ubuntu4.2\r\n
Location: http://blog.stackoverflow.com/feed/\r\n
Vary: Accept-Encoding\r\n
Content-Type: text/html; charset=UTF-8\r\n
\r\n

xmlrpc.phpকেবলমাত্র একটি ফাইলের খালি অস্তিত্ব যথেষ্ট নিরাপদ নয়। যে কেউ এই নামটি কোনও ফাইলে দিতে পারেন।

ক্যাভ্যাট: X-Pingbackশিরোনাম ফিল্টারিং দ্বারা অক্ষম করা যেতে পারে 'wp_headers'। সুতরাং আমার পরামর্শটি বুলেট-প্রুফ নয়।

সম্পর্কিত: কোনও সাইট ওয়ার্ডপ্রেস ব্যবহার করছে এমন ঘটনাটি গোপন করার পদক্ষেপগুলি?


X-Pingback:http://example.com/xmlrpc.phpশিরোনামে এটি কোনও ডাব্লুপি ব্লগ অনুমান করার মতো শক্তিশালী সংকেত হবে না ?
জেফ আতউড

এটি "ডিফল্ট" ওয়ার্ডপ্রেস ইনস্টলগুলির জন্য কাজ করবে, তবে আপনি একটি সাব-ডিরেক্টরিতে ওয়ার্ডপ্রেসও চালাতে পারেন যা এই পদ্ধতিটিকে ক্ষুন্ন করবে।
নেভিট্রনিক

1
@ নাভিট্রনিক যতদূর আমি দেখতে পাই xmlrpc.phpএকই ডিরেক্টরিতে থাকে wp-feed.php
ফুসিয়া

1
এক্স-পিংব্যাক কেবল ডাব্লুপি নয়, যে কোনও পিংব্যাক-সক্ষম সংস্থানগুলির জন্য একটি স্ট্যান্ডার্ড (ইশ) শিরোনাম।
নিকফিটজ

@ নিকফিটজ সেজন্য আপনার একা xMLrpc ফাইলের উপর নির্ভর করা উচিত নয়। পরীক্ষা wp-feed.phpআরও ভাল।
ফুসিয়া

6

ইউআরএল যুক্ত করুন ?page_id=-1এবং তার জন্য একটি HTTP হেড অনুরোধ করুন।

স্ব-ইনস্টল করা ওয়ার্ডপ্রেস ব্লগে, এর ফলস্বরূপ 404 টি প্রতিক্রিয়া হবে।

ওয়ার্ডপ্রেস.কম ব্লগগুলিতে, এটির 301 প্রতিক্রিয়া হবে (যা আপনি পুনঃনির্দেশটি অনুসরণ করেন তবে এটি 200 প্রতিক্রিয়াতে শেষ হয়)।

নন-ওয়ার্ডপ্রেস সাইটগুলিতে আপনার একটি 200 প্রতিক্রিয়া পাওয়া উচিত (ক্যোরি স্ট্রিং ছাড়াই মূল URL টি একটি 200 দেয়) ধরে নেওয়া উচিত - কোয়েরি স্ট্রিংটিতে কোনও পার্থক্য করা উচিত।

এর জন্য একটি প্রধান অনুরোধের উদাহরণ http://blog.stackoverflow.com/2011/03/a-new-name-for-stack-overflow-with-surprise-ending/?page_id=-1:

HTTP/1.1 404 Not Found
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
Content-Encoding: gzip
Vary: Cookie,Accept-Encoding
Cache-Control: no-cache, must-revalidate, max-age=0
Last-Modified: Thu, 07 Jun 2012 08:53:01 GMT
Date: Thu, 07 Jun 2012 08:53:01 GMT
Keep-Alive: timeout=15, max=100
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Pragma: no-cache
Connection: Keep-Alive
X-Powered-By: PHP/5.2.6-2ubuntu4.2
X-Pingback: http://blog.stackoverflow.com/xmlrpc.php
Content-Type: text/html; charset=UTF-8

এর জন্য প্রধান অনুরোধের উদাহরণ http://dailycrave.wordpress.com/2012/06/01/three-cheese-grilled-pizza/?page_id=-1(পুনর্নির্দেশগুলি বন্ধ করুন অনুসরণ করুন):

HTTP/1.1 301 Moved Permanently
X-Pingback: http://dailycrave.wordpress.com/xmlrpc.php
Server: nginx
Expires: Wed, 11 Jan 1984 05:00:00 GMT
X-Hacker: If you're reading this, you should visit automattic.com/jobs and apply to join the fun, mention this header.
Location: http://dailycrave.wordpress.com/2012/06/01/three-cheese-grilled-pizza/
Pragma: no-cache
Cache-Control: no-cache, must-revalidate, max-age=60
Connection: close
Last-Modified: Thu, 07 Jun 2012 09:01:09 GMT
Content-Type: text/html; charset=UTF-8
Date: Thu, 07 Jun 2012 09:01:09 GMT

(এক্স-হ্যাকার ইস্টার ডিম নোট করুন!)

আপনি যদি ওয়ার্ডপ্রেস ডটকম ব্লগের 301 পুনর্নির্দেশটি অনুসরণ করেন তবে আপনি এটিকে শেষ করবেন:

HTTP/1.1 200 OK
Server: nginx
Vary: Accept-Encoding, Cookie
Last-Modified: Thu, 07 Jun 2012 09:48:26 GMT
Cache-Control: max-age=172, must-revalidate
Connection: close
Date: Thu, 07 Jun 2012 09:50:34 GMT
Transfer-Encoding: Identity
Content-Encoding: gzip
Link: <http://wp.me/pXGqK-27g>; rel=shortlink
X-Pingback: http://dailycrave.wordpress.com/xmlrpc.php
Content-Type: text/html; charset=UTF-8
X-Nananana: Batcache
X-Hacker: If you're reading this, you should visit automattic.com/jobs and apply to join the fun, mention this header.

ইউআরএলযুক্ত "লিঙ্ক" শিরোনামটি নোট করুন http://wp.me/, যা সমস্ত ওয়ার্ডপ্রেস ডট কম হোস্ট করা ব্লগের কাছে সাধারণ বলে মনে হয় এবং সেগুলি সনাক্ত করতে ব্যবহার করা যেতে পারে।

আমি বিশ্বাস করি এটি কাজ করে কারণ ?page_id=-1URL টি পাস করা URL বিভাগগুলি থেকে ডিফল্ট রাউটিংকে ওভাররাইড করে। -1 আইডি সহ কোনও পৃষ্ঠা থাকবে না এবং সুতরাং পরিবর্তে 404 / পুনর্নির্দেশ পরিবেশন করা হবে।


2
আমি কল্পনা করেছি যে এখানকার যে কোনও সাইট পুনঃনির্দেশ করতে পারে বা 404 যেমন ইউআরএল করতে পারে, এখানে কোন আচরণ সুনির্দিষ্ট এবং সাইটটি ডাব্লুপি হিসাবে চিহ্নিত করে?
র‌্যাস্ট

@ রর্স্ট হ্যাঁ - এটি ক্যাভিয়েট। এটির জন্য সাইটগুলির পক্ষে প্রতারণা করা সম্ভব এবং page_idইতিমধ্যে ইতিমধ্যে কিছু পরিবর্তনশীল ব্যবহার করতে পারে । শিরোনামগুলি ব্যবহার করে সনাক্তকরণের যে কোনও ধরণের পদ্ধতি সম্ভবত বানোয়াট হতে পারে, সুতরাং এটি সম্পর্কে খুব বেশি চিন্তিত হওয়া উচিত বলে আমি মনে করি না। যা কেবলমাত্র কাস্টম সিএমএসের জন্য মিথ্যা পজিটিভ ছেড়ে দেয়। আমি আরও ওয়ার্ডপ্রেস-নির্দিষ্ট ভেরিয়েবলের কথা ভাবতে পারি নি যা অন্য কোথাও ব্যবহারের সম্ভাবনা কম। একটি আছে?
নিক

3

সমস্ত ওয়ার্ডপ্রেস ইন্সটলেশনগুলিতে না ডাব্লুপি-সুপার-ক্যাশে উপলব্ধ নেই, না ইউআরএলগুলিতে কোনও স্থির ফর্ম্যাট নেই। পারমালিঙ্কস সেটিংস পৃষ্ঠাটি ইউআরএল স্কিমগুলির জন্য কিছু স্থির সেটিংস দেয় যা ব্যবহার করা যায়, যে কেউ যে কোনও কাস্টম ইউআরএল স্কিম ব্যবহার করতে পারে। উদাহরণস্বরূপ, কেউ যদি কেবলমাত্র পৃষ্ঠা / পোস্টের নামটি ইউআরএলটিতে ব্যবহার করার সিদ্ধান্ত নেন, তবে এটি ওয়ার্ডপ্রেস ওয়েবসাইট কিনা তা খুঁজে বের করা কমবেশি অসম্ভব।

XMLrpc এর উপস্থিতি সনাক্ত করতে ব্যবহার করা যেতে পারে, তবে আবার এটি অক্ষম করা যায়।

এবং পরিশেষে, আপনি ইউআরএলটিতে পুরোপুরি কাজ করলেও পৃষ্ঠাটি ওয়ার্ডপ্রেস ব্যবহার করে তৈরি করা হয়েছে কিনা তা সনাক্ত করা এখনও 100% সম্ভব নয়। এটি সমস্ত থিম টেম্পলেট এবং এটি কীভাবে বিকাশ করা হয়েছে তার উপর নির্ভর করে।

একটি মোটামুটি নির্ভরযোগ্য উপায় হ'ল ডাব্লুপি-লগইন এবং ডাব্লুপি-অ্যাডমিন উপস্থিতি সন্ধান করা। এমনকি এগুলিও সরানো যেতে পারে। যদিও আমি এই পথে যেতে চাই।


1

মন্তব্যের দুটি বিকল্প, আপনার নিজস্ব ওয়ার্ডপ্রেস শিরোনাম সেট করুন। আপনার থিমের ফাংশন.এফপি এ এটিকে ফেলে দিন।

add_action('template_redirect', 'add_wp_header');
function add_wp_header(){

header('Type: WordPress');
}

ডাব্লুপি স্ক্যান ফিঙ্গারপ্রিন্টার (রুবি), ওয়ার্ডপ্রেস যেমন প্লাগইন ডিরেক্টরি, থিমের নাম, মেটা ট্যাগস, রেডমি ইত্যাদি অনুসন্ধান করা হচ্ছে তা ব্যবহার করার চেষ্টা করার জন্য এবং এটি বের করার বিভিন্ন পদক্ষেপের মধ্য দিয়ে যায় (আমার আসলে কোনও ধারণা নেই যে এটি আসলে কতটা সঠিক )। http://code.google.com/p/wpscan/source/browse/#svn%2Ftrunk%2Flib%2Fwpscan


0

প্রিফিক্স ডাব্লুপি- দিয়ে শুরু হওয়া যে কোনও একটিতে প্রধান অনুরোধ প্রেরণ সম্পর্কে কীভাবে। আদর্শভাবে wp-login.php দেখুন। যদি এটি বিদ্যমান থাকে তার মানে ওয়েবসাইটটি ওয়ার্ডপ্রেস চলছে।


wp-login.phpএকটি সাব ফোল্ডারে অবস্থিত হতে পারে।
ইউজিন মানুয়িলভ

এটি পুনঃনির্দেশিত হতে পারে এবং তাই নতুন নামকরণ করা যেতে পারে।
কায়সার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.