ওয়েব সাইটের কোডটি কোথায় থাকে তা আমি কীভাবে খুঁজে বের করব?


28

ঘটনা:

  • একটি ওয়েবসাইট আছে
  • এই ওয়েবসাইটটি www.example.org এর মাধ্যমে অ্যাক্সেসযোগ্য
  • একটি ইসি 2 উদাহরণ রয়েছে যা খুব সম্ভবত ওয়েবসাইটটি রাখে
  • সার্ভারটি অ্যাপাচি
  • সার্ভার ওএস হ'ল উবুন্টু
  • আমি সার্ভারে সম্পূর্ণ অ্যাক্সেস পেয়েছি (এবং sudo সুবিধাগুলি)
  • সার্ভারটি একটি বিশাল গন্ডগোল

সমস্যাটি হ'ল আমার কোথায় কোনও ধারণা নেই - কেবল কীভাবে রাখবেন - index.html / index.php অনুসন্ধান করুন যা লোড হয়ে যায়।

ওয়েবসাইটের পিএইচপি এবং এইচটিএমএল কোডটি কোথায় পাবেন তা আমি কীভাবে খুঁজে বের করব? এই সমস্যাটির জন্য কি কোনও নিয়মতান্ত্রিক পদ্ধতি রয়েছে?


আপনি ডোমেন নাম জানেন?
the_velour_fog

9
হ্যাঁ, আমি এটি দ্বিতীয় বুলেট পয়েন্টে জানিয়েছি
রাফেল

find / -name nameofsomefileonthewebsite.html?
ব্যবহারকারী 253751

উত্তর:


53

সার্ভারে কোন ওয়েবসাইটগুলি হোস্ট করা আছে তা প্রথমে আপনার পরীক্ষা করা উচিত

# apachectl -t -D DUMP_VHOSTS

তারপরে আপনি ডকুমেন্টরুট অপশনটির জন্য কোনও সাইট চেক সম্পর্কিত কনফিগারেশন ফাইলটি পাবেন। উদাহরণ স্বরূপ

# apachectl -t -D DUMP_VHOSTS
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server 192.168.88.87 (/etc/httpd/conf.d/192.168.88.87.conf:1)
         port 80 namevhost 192.168.88.87 (/etc/httpd/conf.d/192.168.88.87.conf:1)
         port 80 namevhost gl-hooks.example.net (/etc/httpd/conf.d/hooks.conf:1)
                 alias example.net
                 alias www.example.net

আপনি কোন ওয়েবসাইটের উদাহরণ.এন.এই কোথায় থাকেন তা জানতে চান

# grep DocumentRoot /etc/httpd/conf.d/hooks.conf
    DocumentRoot /vhosts/gl-hooks.example.net/

# cd /vhosts/gl-hooks.example.net/
# ls -la
total 4484
drwxr-xr-x  6 apache apache    4096 Feb 10 11:59 .
drwxr-xr-x 14 root   root      4096 Feb 23 08:54 ..
-rw-r--r--  1 root   root      1078 Dec 19 09:31 favicon.ico
-rw-r--r--  1 apache apache     195 Dec 25 14:51 .htaccess
-rw-r--r--  1 apache apache      98 Dec  7 10:52 index.html

এলিয়াস এবং পুনর্নির্দেশ / পুনর্নির্মাণের সন্ধানও হওয়া উচিত

আপনার কোনও উরফ নির্দেশের দিকেও মনোযোগ দেওয়া উচিত। উদাহরণস্বরূপ নীচের সেটিংস সহ

<VirtualHost *:80>
   ServerName example.net
   ServerAlias www.example.net
   ...
   DocumentRoot /vhosts/default/public_html/
   Alias /api/ /vhosts/default/public_api/
   ...
</VirtualHost>

আপনি যখন http://example.net/some.file.html অ্যাক্সেস করবেন - অ্যাপাচি / vhosts / default / public_html / এ ফাইলটি একই সময়ে http://example.net/api/some.file সহ দেখতে পাবেন .html ফাইলটি / vhosts / default / public_api / এ দেখানো হবে।

পুনর্লিখন / পুনর্নির্দেশগুলি সম্পর্কে কী, বিশেষত প্রোগ্রামেটিক (যখন কিছু পিএইচপি কোড দ্বারা পুনঃনির্দেশগুলি ট্রিগার করা হয়), আমি মনে করি এ জাতীয় কেসগুলি খুঁজে পাওয়ার কোনও সহজ উপায় নেই।


3
এলিয়াস এবং পুনর্নির্দেশ / পুনর্নির্মাণের সন্ধানও হওয়া উচিত।
বব

3

সন্ধানটি ব্যবহার করে দেখুন

find / -type f \( -iname "*index.html*" -o -iname "*index.php*" \) 2> /dev/null

অন্যথায় ধরে নিচ্ছি যে অ্যাবাচি উবুন্টু সংগ্রহস্থল থেকে ইনস্টল করা হয়েছে, দেখুন /etc/apache2/sites-available, যেমন

grep -niR "thedomainname" /etc/apache2/sites-available

যদি ওয়েবসাইটটিতে একটি অ্যাপাচি ভিএইচএসটি সংজ্ঞায়িত করা থাকে তবে এটি কনফিগারেশন ফাইলটি সনাক্ত করতে পারে তবে তার জন্য সেই ফাইলটি দেখুন "documentroot"আপনার উত্স কোডের অবস্থানটি বলা উচিত


1
ভাল ... আমি এটি "করলাম" - এটি 2 ঘন্টা সময় নিয়েছে, সার্ভারটি প্রায় সাড়া দেওয়া বন্ধ করে দিয়েছিল এবং আমি 67 সূচক html এবং প্রায় অনেকগুলি সূচক.পিএফ পেয়েছি। সুতরাং যে পদ্ধতির আমার জন্য এটি না।
রাফেল

2
এ জাতীয় ক্ষেত্রে খুঁজে পাওয়া সত্যিই খারাপ ধারণা
ALex_hha

1
এবং সম্ভবত আপনার পরিবর্তে সাইটগুলি সক্ষম হওয়া ব্যবহার করা উচিত
ALex_hha

1
index.html অনুসন্ধান করার জন্য একটি দুর্দান্ত ফাইল নয়। সেখানে বেশ কয়েকটি সিএমএস আছে যা প্রতিটি ডিরেক্টরিতে একটি করে ডিরেক্টরি ডিরেক্টরি তালিকা অন্তর্ভুক্ত না করে যদি অ্যাপাচি তে বন্ধ না হয় তাই এটি সর্বদা ডিরেক্টরি সামগ্রী দেখানোর পরিবর্তে একটি ফাঁকা পৃষ্ঠা লোড করবে।
gabe3886

@ এটি_ভালোয়ার_ফগ নাহ যে এটি এখানে সুপার সমালোচনা নয় তবে -type fকেবলমাত্র -iname "*index.html*"আপনার আদেশে এটি প্রয়োগ করা হচ্ছে। হওয়া উচিত-type f \( -iname "*index.html*" -o -name "*index.php*" \)

2

অন্য একটি পদ্ধতি, যা কোনও ওয়েবসাইটকে ডিবাগ করার জন্য দরকারী (বা সেই বিষয়ে কোনও প্রক্রিয়া) হ'ল ব্যবহার করা lsof(যা পথে চলতে পারে না, সাধারণত এটি পাওয়া যায় /sbin/lsof)

lsof -s [PID] প্রদত্ত প্রক্রিয়াটির একটি হ্যান্ডেল রয়েছে এমন সমস্ত ফাইলের তালিকা তৈরি করবে এবং সঠিকভাবে কী ব্যবহৃত হচ্ছে তা দেখতে দরকারী হতে পারে (এতে আপনার এইচটিএমএল / পিএইচপি ফাইল পাশাপাশি লগ ফাইল এবং সাইটের প্রয়োজনীয় লাইব্রেরি অন্তর্ভুক্ত রয়েছে)


1

কোথায় ... ইন্ডেক্স html / index.php লোড হয়ে যায় তা খুঁজে পেতে আমার কোনও ধারণা নেই।

পৃষ্ঠা উত্স ফাইলগুলি অনুসন্ধান করুন

একটি পদ্ধতি হ'ল আরও অনন্য পৃষ্ঠা সন্ধানের জন্য সাইটটি ব্রাউজ করা - নতুন কন্ট্যাক্টফর্ম.পিপি বলতে দিন - আদর্শ সার্ভার দ্বারা হোস্ট করা অন্য সাইটগুলিতে উপস্থিত হওয়ার সম্ভাবনা কম এমন is

তারপরে আপনি চেষ্টা করতে পারেন

locate newcontactform.php

যদি এটি ব্যর্থ হয়, অনুসরণ করুন

find / -name newcontactform.php

এটি প্রার্থীদের একটি managably ছোট তালিকা উত্পাদন করা উচিত।

তারপরে আপনি ফাইলগুলি পরিদর্শন করতে পারেন, ভিন্নতাগুলি করতে পারেন এবং প্রয়োজনে ফাইলটি পৃষ্ঠাটি উত্পাদন করে কিনা তা যাচাই করতে প্রয়োজনে ছোট ছোট পরিবর্তনগুলি (যেমন একটি এইচটিএমএল মন্তব্য সন্নিবেশ করান) চেষ্টা করতে পারেন।

কনফিগারগুলি সন্ধান করুন

কখনও কখনও psকমান্ডের আউটপুটে কনফিগার ফাইল উপস্থিত থাকে । সবচেয়ে খারাপ ক্ষেত্রে ps -ef | grep -e 'apache|httpd'তবে psবিকল্পগুলির আরও সৃজনশীল ব্যবহার অন্বেষণে মূল্যবান হতে পারে।

আপনি httpd.confউবুন্টু এবং অ্যাপাচি httpd প্রকল্পের (যা পৃথক হতে পারে) বা কেবল ব্যবহার হিসাবে locateএবং findউপরের হিসাবে নির্দিষ্ট অবস্থানগুলিতে সন্ধান করতে পারেন ।

কখনও কখনও প্রধান কনফিগারেশন ফাইলটি vhosts এর জন্য অন্যান্য কনফিগারেশন ফাইলগুলিকে বোঝায়। মূল কনফিগারেশন ফাইলটি সনাক্ত করে আপনি এটি কাজ করতে পারেন।

দীর্ঘস্থায়ী মামলা

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

80 ইত্যাদি পোর্টে আপনি কী প্রোগ্রামগুলি শুনছেন তা পেতে পারেন netstat -lntp। প্রায়শই, বাইনারিগুলি সনাক্ত করা কোনও ডিরেক্টরি ট্রিতে একটি দরকারী পয়েন্টার যা কনফিগার ফাইল রয়েছে।


1

আপনি ওয়েব সার্ভারের (অ্যাপাচি) কনফিগারেশন ফাইলে যে ডোমেনটি সন্ধান করছেন তার জন্য ভোস্ট পরীক্ষা করতে পারেন - httpd.conf (সম্ভবত সম্ভবত / etc / এ অবস্থিত) কেবলমাত্র ফাইলটি খুলুন এবং এটির মাধ্যমে স্ক্রোল করুন যতক্ষণ না আপনি ভার্চুলহোস্ট নির্দেশনা খুঁজে পান আপনার ডোমেন এবং সেখানে আপনি ডকুমেন্টআরট নির্দেশিকাটি দেখতে পাবেন - এটি আপনার ওয়েবসাইটের নথি রুট ডিরেক্টরি, সেই জায়গাতে যেখানে আপনি অ্যাপ্লিকেশনগুলির ফাইলগুলি খুঁজে পাবেন।


1

দয়া করে এখানে যান

সিডি / ইত্যাদি / অ্যাপাচি 2 / সাইট-উপলভ্য /

এখানে আপনি আপনার কনফিগারেশন ফাইলটি পাবেন (যেমন: 000-default.conf)

দয়া করে এই ফাইলটি খুলুন / ব্যবহার করে আপনার কনফিগারেশন ফাইলটি খুলুন

vi 000-default.conf

সেখানে আপনি ডকুমেন্টআরটি পাবেন hat এটি আপনার ওয়েবসাইটের কোড

এটি একইভাবে ডিফল্ট কনফ ফাইল, আপনি কিছু কনফের বিবরণ পাবেন দয়া করে সেগুলিও পরীক্ষা করে দেখুন।


3
এটি সিস্টেম-নির্ভর।
মনিকার সাথে লাইটনেস রেস

@PreferencesBean- এর মন্তব্য ছাড়াও এটি কেবলমাত্র ডিফল্ট vhosts এর কনফিগারেশন প্রদর্শন করবে। সেখানে অকেজো নাম সহ অনেকগুলি হোস্ট থাকতে পারে যার জন্য চেকিংয়ের দরকারও পড়তে পারে
gabe3886
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.