რომელი ფორუმი უკეთესია vBulletin თუ PunBB. რომელი ფორუმია უკეთესი vBulletin თუ PunBB Clumsy vbulletin
![რომელი ფორუმი უკეთესია vBulletin თუ PunBB. რომელი ფორუმია უკეთესი vBulletin თუ PunBB Clumsy vbulletin](https://i1.wp.com/host-food.ru/images/faq/installation/vbulletin/vbulletin.02.png)
- მდებარეობა:
- დარეგისტრირებულია: 2014.07.07
- პოსტები: 3,825
- მე უბრალოდ მომწონს PunBB:
- 5 წლები, 8 თვეები, 20 დღეები,
- მოსწონს: 480
თემა: რომელი ფორუმი უკეთესია vBulletin თუ PunBB
VBulletin (Vobla ან Bulka, როგორც ჩვენ გვსურს ვუწოდოთ) არის ერთ-ერთი უძველესი კომერციული ფორუმის ძრავა, რომელიც დაწერილია PHP და MySQL ტექნოლოგიების გამოყენებით. 2000 წელს პირველივე ვერსიის გამოშვების შემდეგ, უზარმაზარი სამუშაო გაკეთდა ფუნქციონირების გასაუმჯობესებლად, რამაც საშუალება მისცა VB-ს მოხვდეს საუკეთესო პროგრამული პროდუქტების სიაში.
VBulletin ლიცენზია დაგიჯდებათ დაახლოებით $250. დარწმუნებული იყავით, ეს არის სრულიად გამართლებული ხარჯი და რა თქმა უნდა გადაიხდის თავის თავს სამუშაო დროისა და ნერვული უჯრედების დაზოგვით. ამ თანხის უმეტესი ნაწილი მიდის დეველოპერებსა და პროგრამისტებზე, რომლებიც მოგვიანებით გამოიყენებენ მას ფუნქციონირების გასაუმჯობესებლად და პატჩებისა და დამატებების გასათავისუფლებლად (დიახ, ყველა განახლება უფასოდ მოგცემთ მთელი წლის განმავლობაში).
2 პასუხის ავტორი PunBB
- მდებარეობა: მოსკოვი, Sovkhoznay 3, apt. 98
- დარეგისტრირებულია: 2014.07.07
- პოსტები: 3,825
- მე უბრალოდ მომწონს PunBB:
- 5 წლები, 8 თვეები, 20 დღეები,
- მოსწონს: 480
აზრი არ აქვს VBulletin-ის ყველა ფუნქციის ჩამოთვლას. მათ განახორციელეს თითქმის ყველაფერი, რაც შეიძლება დასჭირდეს ფორუმის ადმინისტრატორებს. პოდკასტი, მრავალციტირების მხარდაჭერა, სოციალურ ჯგუფებად და თემებად დაყოფა, რეიტინგული სისტემა (რეპუტაცია). ძირითადი პაკეტი შეიძლება დაემატოს მესამე მხარის გაფართოებებს.
VBulletin ფორუმის ძრავა ქმნის სერიოზულ დატვირთვას სერვერზე, განსაკუთრებით თუ დაინსტალირებულია მესამე მხარის დანამატები და სკრიპტები. მომავალში გვერდების ჩატვირთვასთან დაკავშირებული პრობლემების თავიდან ასაცილებლად, თქვენ მოგიწევთ ჩვეული ჰოსტინგისთვის. მით უმეტეს, თუ მომავალში უფრო მეტ ტრაფიკს იწინასწარმეტყველებთ თქვენი რესურსისთვის.
3 პასუხის ავტორი PunBB
- მდებარეობა: მოსკოვი, Sovkhoznay 3, apt. 98
- დარეგისტრირებულია: 2014.07.07
- პოსტები: 3,825
- მე უბრალოდ მომწონს PunBB:
- 5 წლები, 8 თვეები, 20 დღეები,
- მოსწონს: 480
პასუხი: რომელი ფორუმი უკეთესია vBulletin თუ PunBB
VBulletin, ჰაკერებისა და სპამბოტებისადმი უკიდურესი წინააღმდეგობის გამო, რეკომენდებულია მსხვილ სერიოზულ პროექტებში გამოსაყენებლად. გარდა ამისა, სტანდარტული პარამეტრები და კონფიგურაციის ფაილები მარტივად შეიძლება შეიცვალოს საკუთარი გზით, რაც კიდევ უფრო დიდ ეფექტს მიაღწევს. ინტერნეტში ბევრი ინსტრუქცია და სახელმძღვანელოა ხალხური ხელოსნებისგან, თუმცა ყველა მათგანს არ უნდა ენდო.
VBulletin ახორციელებს ფართომასშტაბიან იდეებს საუკეთესოდ. მუდმივი განახლებები, მაღალი ხარისხის მომსახურება, დამატებითი გაფართოებები და საიმედო უსაფრთხოების მექანიზმები - ეს ყველაფერი სრულად ამართლებს პროდუქტზე დახარჯულ ფულს.
4 პასუხის ავტორი PunBB
- მდებარეობა: მოსკოვი, Sovkhoznay 3, apt. 98
- დარეგისტრირებულია: 2014.07.07
- პოსტები: 3,825
- მე უბრალოდ მომწონს PunBB:
- 5 წლები, 8 თვეები, 20 დღეები,
- მოსწონს: 480
პასუხი: რომელი ფორუმი უკეთესია vBulletin თუ PunBB
აზრი არ აქვს ყველა ფუნქციის ჩამოთვლას - ის (ან დანამატები) ახორციელებს თითქმის ყველაფერს, რაც შეიძლება დასჭირდეს ადმინისტრატორს ფორუმის შესაქმნელად. არსებობს მრავალ ციტირება, პოდკასტინგის მხარდაჭერა, მომხმარებლის თემები, სოციალური ჯგუფები, რეპუტაციის მოქნილი სისტემა და მრავალი სხვა.
რა თქმა უნდა, vBulletin-ს აქვს დიდი რაოდენობით დანამატები და მომხმარებელთა თემები, ასე რომ არ იქნება პრობლემები მოვლასთან დაკავშირებით, მით უმეტეს, რომ არსებობს ოფიციალური დამხმარე გუნდი. vBulletin-ის მინუსი, თუმცა არც თუ ისე დიდია, არის ფასიანი დამატებები, მაგალითად, მომხმარებლის ბლოგებისთვის.
ზოგადად, ფორუმს არანაირი ნაკლი არ აქვს. ის შეიძლება რეკომენდირებული იყოს მსხვილი სერიოზული პროექტებისთვის ზუსტად მისი საიმედოობისა და ყველა სახის თავდასხმის წინააღმდეგობის გამო. შედეგად, ის ქმნის მნიშვნელოვან დატვირთვას სერვერზე, განსაკუთრებით დაინსტალირებული დანამატებით, მაგრამ სერიოზული პროექტებისთვის ისინი ჩვეულებრივ იყენებენ სერიოზულ სერვერებს და სერიოზულ ადმინისტრატორებს.
ძირითადი უპირატესობები:
- სწრაფი და ეფექტური მონაცემთა ბაზა
- ინტერფეისი, რომელიც შედგება შაბლონებისგან
- ძლიერი საძიებო სისტემა
- მრავალენოვანი მხარდაჭერა
- მომხმარებლის პროფილები
- ძლიერი და მოსახერხებელი ადმინისტრატორის პანელი
- სექციების / თემების / შეტყობინებების შეუზღუდავი რაოდენობა
- შეტყობინებები ელექტრონული ფოსტით
- COPPA მხარდაჭერა
იმის გამო, რომ მწარმოებელი არ გთავაზობთ ფორუმის დემო ვერსიას, რომლის ინსტალაციაც შესაძლებელია, მე მომიწია მარცხენა ვერსიის დაყენება, რომელიც გადმოწერილი იყო ზოგიერთი ვარეზნიკიდან. ასე რომ, ინსტრუქციები შეიძლება მთლიანად არ შეესაბამებოდეს ლიცენზირების ფორუმის ინსტალაციის პროცესს. ინსტალაციის შემდეგ საიტი წაიშალა და არ გამოიყენებოდა დანიშნულებისამებრ.
vBulletin-ის ინსტალაციისთვის გადადით ჰოსტინგის მართვის პანელზე (ღილაკი გადაცემათა კოლოფით ბილინგის ჰოსტინგის შეკვეთის გვერდით), იქ "ფაილ მენეჯერში", მასში გადავდივართ "www" დირექტორიაში. დააჭირეთ ღილაკს "ფაილის ატვირთვა მიმდინარე დირექტორიაში":
მიუთითეთ ფაილის გზა თქვენს კომპიუტერში:
აირჩიეთ არქივი vBulletin-ით და ამოალაგეთ იგი:
ჩვენ ვშლით ფაილებსა და კატალოგებს, რომლებიც არ გვჭირდება, მათ შორის, ჩვენი www დომენის დირექტორია - იმ პირობით, რომ იქ არაფერი გქონდეთ რაც გჭირდებათ. თუ თქვენ არ განათავსებთ მას საიტის ძირში, ან არის რაღაც საჭირო საიტის დირექტორიაში, თქვენ არ გჭირდებათ www დომენის კატალოგის წაშლა:
აირჩიეთ დირექტორია vBulletin ინსტალერით და გადაარქვით სახელი:
შეიყვანეთ ჩვენი საიტის სახელი, როგორც დირექტორია სახელი:
გადადით ჰოსტინგის მართვის პანელის "მონაცემთა ბაზების" განყოფილებაში:
შექმენით ახალი MySQL მონაცემთა ბაზა და მომხმარებელი მასზე სრული წვდომის უფლებით:
გთხოვთ გაითვალისწინოთ, რომ როგორც მომხმარებელმა, ასევე მონაცემთა ბაზამ ავტომატურად მიიღეს პრეფიქსი თქვენი ანგარიშის სახელის მიხედვით ჰოსტინგ სერვერზე:
ჩვენ გადავდივართ ჩვენი საიტის მთავარ გვერდზე და ვიღებთ შემდეგ vBulletin შეცდომას:
ჩვენ ვწერთ ინსტალერის გზას მისამართების ზოლში, ვამატებთ "install/install.php", რის შემდეგაც იწყება vBulletin ფორუმის საინსტალაციო პროგრამა:
vBulletin ინსტალერი ამოწმებს შემდეგი ფაილების არსებობას:
შემდეგი ნაბიჯი არის მონაცემთა ბაზასთან კავშირის შემოწმება, ის არ გადის - რადგან... ფორუმის კონფიგურაციის ფაილი შეიცავს არასწორ მონაცემებს:
ჩვენ ვუბრუნდებით ჰოსტინგის საკონტროლო პანელს, ფაილ მენეჯერს, გადავდივართ დირექტორიაში ფორუმთან ერთად, შემდეგ "მოიცავს" ქვედირექტორიას. გახსენით ფაილი "config.php":
ჩვენ შევიყვანთ მონაცემთა ბაზიდან სწორ მონაცემებს კონფიგურაციის ფაილში, რის შემდეგაც ვხურავთ მას:
ჩვენ ვუბრუნდებით საიტს, ინსტალერს. დააჭირეთ "F5", ამჯერად ყველაფერი კარგადაა, მონაცემთა ბაზასთან კავშირი გაიზარდა:
vBulletin ინსტალერი ქმნის ცხრილებს მონაცემთა ბაზაში:
vBulletin ინსტალერი ცვლის ზოგიერთი ცხრილის ტიპებს:
მონაცემთა ბაზაში შედის:
იმპორტირებული ენები:
სტილები იმპორტირებულია:
დახმარება იმპორტირებულია:
ჩვენ არ ვეხებით ნაგულისხმევ პარამეტრებს; vBulletin-ის ინსტალაციის პროგრამამ სწორად განსაზღვრა ყველაფერი:
ნაგულისხმევი პარამეტრები იმპორტირებულია:
შეიყვანეთ vBulletin ადმინისტრატორის დეტალები:
vBulletin-ის ადმინისტრატორი წარმატებით დაემატა:
vBulletin-ის ინსტალაცია ჰოსტინგზე წარმატებით დასრულდა:
ინსტალერის ბოლო რჩევის შემდეგ, წაშალეთ არასაჭირო ფაილები:
შეგიძლიათ გადახვიდეთ vBulletin ფორუმზე, რათა დარწმუნდეთ, რომ ყველაფერი სწორად მუშაობს:
ნებისმიერი ძრავა მოითხოვს გარკვეულ მოქმედებებს მისი ოპტიმიზაციისთვის უკეთესი და სწრაფი მუშაობისთვის. ჩვენს შემთხვევაში ვისაუბრებთ Vbulletin 4-ის ოპტიმიზაციაზე.
ვინაიდან ჩვენი ფორუმის ძრავა მუდმივად განახლებულია, მე არ დავწერ Vbulletin-ის ადრინდელი ვერსიების ოპტიმიზაციაზე, მაგრამ დავიწყებ 4.1.12 ვერსიით. თუმცა, ალბათ, თანდათან დავამატებ ამ სტატიას წინა ვერსიებისთვის ოპტიმიზაციით, რადგან ყველა არ გადადის ახალზე.
აქ მე მოვიყვან რამდენიმე მაგალითს, რათა თქვენი Vbulletin ფორუმი უფრო სწრაფი და უკეთესი გახდეს (დაწყებული უმარტივესი საგნებით და გადავიდეთ უფრო რთულზე). გთხოვთ გაითვალისწინოთ, რომ ის, რაც ჩემთვის მუშაობს, სულაც არ გამოდგება თქვენთვის. ამიტომ, თქვენ იღებთ ყველა ცვლილებას თქვენი საფრთხისა და რისკის ქვეშ.
მომხმარებელთა სიის გამორთვა.
არსებობს მარტივი გზა, რომ უბრალოდ გამორთოთ ფუნქცია AdminCP-ში. (პარამეტრები -> ოფციები -> მომხმარებლის ჩამონათვალის პარამეტრები)
ეს არ არის გლობალური, რა თქმა უნდა, და შეგიძლიათ გამოტოვოთ და არ გააკეთოთ ეს, უბრალოდ დაუსვით საკუთარ თავს შეკითხვა: გჭირდებათ ეს? სიის არსებობის შემდეგ მომხმარებლებს შეუძლიათ დაალაგონ ის, ნახონ ვის აქვს მეტი შეტყობინება, რეპუტაცია და ა.შ. თქვენი მომხმარებლები იყენებენ ამას? ალბათ არა... ბოლოს როდის გამოიყენე ეს სია?
რაც შემეხება მე, მეჩვენება, რომ ეს სიები მხოლოდ სპამერებს სარგებელს მოუტანს, რადგან ეს არის უმარტივესი გზა Vbulletin 4 ფორუმის მონაწილეთა ყველა სახელების შესაგროვებლად პირადი შეტყობინებებში სპამის გაგზავნისთვის.
გარდა ამისა, მოთხოვნა, რომელიც საჭიროა მომხმარებელთა სიის გენერირებისთვის, საშინელია მონაცემთა ბაზის სერვერებისთვის და შეიძლება გამოიწვიოს სერვერის დიდი დატვირთვა.
გაზრდილი სიჩქარე პირადი შეტყობინებების სიის დამუშავებისას.
თუ არასოდეს შემოგიტანიათ პირადი შეტყობინებები გარე წყაროებიდან Impex-ის ან სხვა საშუალებების გამოყენებით, შეგიძლიათ უსაფრთხოდ დაეყრდნოთ პირად შეტყობინებებს ID დახარისხებას. ID-ის მიხედვით დალაგება ისე გახდება, რომ თქვენს მონაცემთა ბაზის სერვერს არ მოუწიოს პირადი შეტყობინებების გადაყრა დროებით ცხრილში დახარისხების შესასრულებლად (მოთხოვნის დაჩქარება).
ამისათვის თქვენ უნდა დაარეგისტრიროთ პატარა მოდული მდებარეობით private_messagelist_filter-ში და ჩაწეროთ მასში შემდეგი:
თუ ($sortfield == "pmtext.dateline") $sortfield = "pm.pmid";
და ეს არის ის, თქვენ უბრალოდ გახადეთ private.php ~20%-ით უფრო სწრაფად.
ჩვენ დავაყენეთ უფრო ეფექტური ძებნა მომხმარებლისგან უახლესი შეტყობინებებისთვის.
ჩვენ მივდივართ FTP-ზე, ვეძებთ ფაილს /class_userprofile.php და ვცვლით მასში არსებულ მონაცემებს შემდეგნაირად, ვეძებთ:
$getlastposts = $this->registry->db->query_read_slave(" SELECT thread.title, thread.threadid, thread.forumid, thread.postuserid, post.postid, post.dateline FROM " . TABLE_NNERFIXAS პოსტი. JOIN " . TABLE_PREFIX . "thread AS thread USING (threadid) WHERE thread.visible = 1 AND post.userid = " . $this->userinfo["userid"] . " AND post.visible = 1 ORDER BY SC.dateline DE LIMIT 20");
და შეცვალეთ იგი ამით (უფრო კონკრეტულად ORDER BY):
$getlastposts = $this->registry->db->query_read_slave(" SELECT thread.title, thread.threadid, thread.forumid, thread.postuserid, post.postid, post.dateline FROM " . TABLE_NNERFIXAS პოსტი. შეუერთდი " . TABLE_PREFIX . "thread AS thread USING (threadid) WHERE thread.visible = 1 AND post.userid = " . $this->userinfo["userid"] . " AND post.visible = 1 ORDER BY SC.postid DE LIMIT 20");
ეს თხოვნას უფრო სწორს ხდის, ვიდრე უკვე არის. ამ გზით თქვენ არ მოგიწევთ დროებითი ცხრილის დალაგება. 1000-ზე მეტი შეტყობინების მქონე მომხმარებლებისთვის თავდაპირველ მოთხოვნას დასჭირდება დაახლოებით 10 წამი, ჩვენს შემთხვევაში გაცილებით ნაკლები. ეს უპირველეს ყოვლისა ეხება Vbulletin 4 მომხმარებლის პროფილს ბოლო პოსტების საჩვენებლად.
თემის ინდექსის შემოწმება.
თუ თქვენს ფორუმებს აქვთ დალაგების ნაგულისხმევი თანმიმდევრობა, რომელიც დაყენებულია ცვლილებების გარეშე, როგორც ეს ზემოთ გავაკეთეთ, დარწმუნდით, რომ თქვენი ყველა ინდექსი მათ ცხრილებშია. იყო შემთხვევები, როცა ჩემთვის უცნობი მიზეზების გამო ინდექსები ერთმანეთს ემთხვეოდა და ზოგიერთი ფორუმი არ იხსნებოდა.
მე ვთავაზობ, რომ ნაგულისხმევი დალაგება იყოს თარიღის ფორმით (სვეტი, რომელიც იყენებს ამ მონაცემებს, ეწოდება "თარიღის ხაზს") და ამის განსახორციელებლად, მოდით შევასრულოთ მოთხოვნა:
TABLE-ის შეცვლა
ეს მოთხოვნა კონკრეტულად ჩემზე ვრცელდება, თქვენს შემთხვევაში forumid2_dp უნდა ჰქონდეს თქვენი სახელი. გამოიყენეთ საკუთარი რისკის ქვეშ.
ფრთხილად იყავით დანამატების დაყენებისას.
მხოლოდ იმიტომ, რომ ვინმე აკეთებს მოდულებს და ჰაკერებს არ ნიშნავს, რომ ისინი შექმნილია მხოლოდ თქვენთვის, მუშაობენ Vbulletin 4-ის დიდ ფორუმებზე და არ არის შეცდომები. შესანიშნავი მაგალითია ანგარიშები მასობრივი ჰაკერების შესახებ ამა თუ იმ ჰაკების საშუალებით.
რა თქმა უნდა, შეგვიძლია ვივარაუდოთ, რომ დეველოპერებს არ შეუძლიათ ყველაფრის გათვალისწინება და ყველა ჰაკს ათვალიერებენ, რომ კონფლიქტი არ მოხდეს, მაგრამ... დარწმუნდით, რომ Vbulletin მოდული არ იწვევს მონაცემთა ბაზის დიდ დატვირთვას, დარწმუნდით, რომ ჰაკი აქვს SQL ინექციებისგან ან XSS-ისგან დაცვის პოტენციალი. სამწუხაროდ, ათასობით აპლიკაცია და მოდიფიკაციაა და ყველაფრის შემოწმება უბრალოდ შეუძლებელია. უკეთესი იქნება თუ ყველა ჰაკს თავად დაწერთ, ან სხვას შეუკვეთავთ. კონკრეტულად მორგებულია თქვენზე და თქვენს ამოცანებზე.
არ გამოიყენოთ ცხრილები InnoDB-ში.
აქ, რა თქმა უნდა, მათ შეუძლიათ სახეში გადაფურთხონ, რადგან ეს თემა უკვე მილიონჯერ იყო განხილული, მაგრამ ჩემი გამოცდილებიდან შემიძლია ვთქვა, რომ 100% ვმუშაობ MyISAM ცხრილებზე ნებისმიერი მოქმედებისთვის. ზოგჯერ წამში 1000 მოთხოვნას ვამუშავებ.
თუ უკვე იწყებთ შეშინებას, სადაც ყველაფერი ჩერდება შეკითხვების დროს, განსაკუთრებით ახალი Vbulletin ძიებაში, შეცვალეთ InnoDB ცხრილები MyISAM-ზე. MyISAM უფრო სწრაფად პასუხობს ინდივიდუალურ მოთხოვნებს, რადგან თქვენ არ გჭირდებათ ინდივიდუალური ჩანაწერების დაბლოკვის მართვა. InnoDB უფრო სწრაფია მთლიანობაში, მაგრამ მხოლოდ იმიტომ, რომ ის საშუალებას აძლევს შეკითხვებს ერთდროულად გაუშვას. თუ თქვენი მოთხოვნები უკვე სწრაფად მუშაობს MyISAM-ში, არ არის საჭირო InnoDB-ზე გადასვლა. IMHO.
სტატიის რეიტინგი
0%
რეიტინგი
Მომხმარებლის რეიტინგი: 0.35 (1 ხმა)
მხოლოდ საინფორმაციო მიზნებისთვის. ადმინისტრაცია არ არის პასუხისმგებელი მის შინაარსზე. ჩამოტვირთეთ უფასოდ.
vBulletin Connect v5.3.3 არის ძლიერი, მასშტაბირებადი და სრულად კონფიგურირებადი ფორუმის პაკეტი თქვენი ვებსაიტისთვის.
ვერსია: 5.3.3 (გაუქმებულია vBSupport.org-ის მიერ)
მინიმალური მოთხოვნები php 5.6
თავსებადია php 7.1-თან
ახალი ინსტალაციისთვის, თქვენ უნდა დაარქვით htaccess.txt ფაილს .htaccess
განახლებისას წაშალეთ შრიფტების საქაღალდე (განახლების დაწყებამდე).
ახალი შესაძლებლობები:
ახალი UI ფართო სოციალური ინტეგრაციით;
ოპტიმიზებულია მობილური მოწყობილობებისთვის;
გამარტივებული ინსტალაცია, მართვა და კონფიგურაცია;
მონაცემთა ბაზის ახალი არქიტექტურა გაუმჯობესებული ძიებისა და უკეთესი მუშაობისთვის;
მოსახერხებელი დინამიური შინაარსის შეცვლა;
გაფართოებული ვიდეო და გამოსახულების გაზიარებისთვის;
სრული ინტეგრაცია VigLink-თან;
100-ზე მეტი სხვა ახალი ფუნქცია და გაუმჯობესება;
ჩაშენებული აპლიკაციები:
სადისკუსიო ფორუმი
ჯგუფები
გამოკითხვები
ბლოგი
საძიებო სისტემის ოპტიმიზაცია:
SEO მეგობრული მისამართები
მორგებული საკვანძო სიტყვა/აღწერა META Tag
მოქნილობა:
გაფართოებადი მომხმარებლის პროფილები
URL-ის გადაწერა
ინტერფეისის ლოკალიზაცია
მეტამონაცემები
სტანდარტებთან შესაბამისობა:
კონტენტის სინდიკა (RSS)
კონტენტის სინდიკაცია: RSS, Atom, XML
PHP v5.4 თავსებადი
უწყვეტი ინტეგრირებული სისტემა:
ჩართული ერთადერთი შესვლა
ერთიანი რეზოლუციის სისტემა
ერთადერთი ადმინისტრატორის პანელი
შექმენით უწყვეტი სტილი/თემა სტატიების, ბლოგების, ფორუმის მეშვეობით
დაფები თითოეული როლისთვის:
ადმინისტრაციული კონტროლი
მოდერატორის მართვის პანელი
მორგებული მართვის პანელი
ერთიანი რეზოლუციის სისტემა
დენის შაბლონის ძრავა გაფართოებული პერსონალიზაციისთვის
მომხმარებლის კონტროლი:
მრავალ მომხმარებლის სისტემა შეუზღუდავი როლებითა და უფლებამოსილებით
ჩართული ჯგუფები
Უსაფრთხოება
მარცვლოვანი სიმძლავრეები
პრობლემის შესახებ შეტყობინება
თავსებადი SSL
კაპჩა
ელ.ფოსტის მისამართის დადასტურება
ადმინისტრაციული მართვის პანელის ახალი ამბების რედაქტორი
შესვლის "გაფიცვის" სისტემა
ელ.ფოსტისა და პაროლის ცვლილებები საჭიროებს მიმდინარე პაროლს
შეესაბამება ბავშვთა ონლაინ კონფიდენციალურობის დაცვის აქტს (COPPA) 1998 წ
1. გადადით ადმინისტრატორის მართვის პანელზე:
ენები და ფრაზები - ჩამოტვირთეთ / ატვირთეთ ენები.
2. "ან ატვირთეთ XML ფაილი თქვენი კომპიუტერიდან" ველში შეიყვანეთ გზა
vbulletin-language_ru.xml ფაილი თქვენს კომპიუტერში.
3. პარამეტრში „ენის გადაწერა“ აირჩიეთ „ახალი ენის შექმნა“
4. "სათაური ატვირთული ენისთვის" ველში შეიყვანეთ ენის სახელი.
თუ არ არის შეყვანილი მონაცემები, ენას დაერქმევა "რუსული (RU)"
5. დააყენეთ „დიახ“ „ენის ვერსიის იგნორირებაზე“
6. დააყენეთ „დიახ“ „წაიკითხეთ ჩაწერის ნაკრები XML ფაილიდან“
7. დააწკაპუნეთ ღილაკზე „იმპორტი“ და დაელოდეთ ჩამოტვირთვის პროცესის დასრულებას.
7A სურვილის შემთხვევაში, შეგიძლიათ ახალი ენა გახადოთ „ნაგულისხმევ“ ენად,
მის გვერდით ღილაკზე "ნაგულისხმევი" / "ნაგულისხმევი მნიშვნელობა" დაჭერით.
თქვენ ალბათ ბევრჯერ გინახავთ ფორუმები vBulletin ძრავზე. ფორუმები, როგორც ასეთი, აღარ არის მოდაში, მაგრამ vBulletin მაინც ერთ-ერთი ყველაზე პოპულარული ძრავია. მის უახლეს (მეხუთე) ვერსიაში ნაპოვნია რამდენიმე დაუცველობა, რამაც შეიძლება მნიშვნელოვნად გაანადგუროს ადმინისტრატორის ცხოვრება. ამ სტატიაში მე გეტყვით, თუ როგორ გამოიყენება ისინი.
პირველი პრობლემა არის მომხმარებლის მონაცემების არასწორი ფილტრაცია. ამის შესახებ უსაფრთხოების დამოუკიდებელმა მკვლევარმა განაცხადა, რომელმაც ანონიმურად დარჩენა სურდა. დაუცველობამ, მიუხედავად იმისა, რომ მას აქვს გარკვეული შეზღუდვები, მიიღო კრიტიკული სტატუსი, რადგან ის საშუალებას გაძლევთ წაიკითხოთ ნებისმიერი ფაილი და შეასრულოთ თვითნებური კოდი სამიზნე სისტემაში.
მეორე დაუცველობა იპოვეს TRUEL IT-ის მკვლევარებმა და მიიღეს იდენტიფიკატორი CVE-2017-17672. ის დაკავშირებულია ძრავში მონაცემთა დესერიალიზაციის მახასიათებლებთან და შეიძლება გამოყენებულ იქნას თავდამსხმელის მიერ სისტემაში თვითნებური ფაილების წასაშლელად.
სრული მოხსენებები, რომლებიც დეტალურად აღწერს ორივე საკითხს, გამოქვეყნებულია SecuriTeam-ის Beyond Security პროგრამის ფარგლებში. ასევე არსებობს PoC ექსპლოიტები დაუცველობის დემონსტრირებისთვის. მოდით, ეს ყველაფერი თანმიმდევრობით გავიაროთ.
პრეპარატები
მე გამოვიყენე WAMP განაწილება, როგორც სერვერი.
წაიკითხეთ ფაილები, შეასრულეთ ბრძანებები
ასე რომ, პირველი დაუცველობის მიზეზი არის არასწორი ლოგიკა მარშრუტის სტრიქონის პარამეტრის დამუშავებისას, რაც საშუალებას აძლევს თავდამსხმელს ჩართოს ნებისმიერი ფაილი დისკზე მასში მდებარე PHP კოდის ჩათვლით და შეასრულოს.
ჩვენი გზა იწყება ყველაზე მნიშვნელოვანი ფაილით - index.php, სადაც ხდება აპლიკაციის ძირითადი ინიციალიზაცია.
/index.php
48: $app = vB5_Frontend_Application::init("config.php"); ... 60: $routing = $app->getRouter(); 61: $method = $routing->getAction(); 62: $template = $routing->getTemplate(); 63: $class = $routing->getControllerClass();მოდით შევხედოთ vB5_Frontend_Application::init მეთოდს.
/includes/vb5/frontend/application.php
13: კლასი vB5_Frontend_Application ვრცელდება vB5_ApplicationAbstract 14: ( 15: საჯარო სტატიკური ფუნქცია init($configFile) 16: ( 17: მშობელი::init($configFile); 18: 19: self::$instance = new vB_2:Front; self::$instance->router = new vB5_Frontend_Routing();21: self::$instance->router->setRoutes();აქ ჩვენ გვაინტერესებს setRoutes მეთოდი.
47: საჯარო ფუნქცია setRoutes() 48: ( 49: $this->processQueryString(); ... 54: if (isset($_GET["routestring"])) 55: ( 56: $path = $_GET[" მარშრუტის სტრიქონი"];$path ცვლადი შეიცავს მომხმარებლის მონაცემების მნიშვნელობას მარშრუტის სტრიქონის პარამეტრიდან. შეგიძლიათ მასში გაიაროთ ფორუმის გვერდის გზა და ის ჩაიტვირთება.
![](https://i0.wp.com/xakep.ru/wp-content/uploads/2017/12/146882/vbulletin-routestring-use.jpg)
ვთქვათ, გავიარეთ /ტესტი.
ცვლადის მინიჭების შემდეგ, არის კოდის ნაწილი, რომელიც ათავისუფლებს ხაზის დასაწყისში ხაზს, თუ ეს არის.
/includes/vb5/frontend/routing.php
75: if (strlen($path) AND $path(0) == "/") 76: ( 77: $path = substr($path, 1); // $path = "ტესტი" 78: )მოიცავს\vb5\frontend\routing.php
83: if (strlen($ path) > 2) 84: ( 85: $ext = strtolower(substr($ path, -4)); 86: if (($ext == ".gif") OR ($ext == ".png") OR ($ext == ".jpg") ან ($ext == ".css") 87: OR (strtolower(substr($ path, -3)) == ".js" )) 88: ( 89: header ("HTTP/1.0 404 ვერ მოიძებნა"); 90: die (""); 91: ) 92: )როგორც ხედავთ, შემოწმება საკმაოდ უცნაურია. სულ მცირე, კოდში ჩაწერილი აკრძალული გაფართოებების სიის არსებობა დამაბნეველია. და ზოგადად, ის ფაქტი, რომ გაფართოება მიიღება ხაზის ბოლოდან ოთხი სიმბოლოს ამოჭრით (სტრიქონი 85) დამაბნეველია. ზოგადად, თუ შევეცდებით ფაილის მიღებას gif, png, jsp, css ან js გაფართოებებით, სერვერი დააბრუნებს 404 გვერდს და სკრიპტი შეწყვეტს შესრულებას. როდესაც ყველა შემოწმება გაივლის, getRoute მეთოდი vB_Api_Route კლასიდან გამოიძახება callApi-ს გამოყენებით. ის ეძებს შესაბამის მარშრუტებს მომხმარებლის მიერ მოწოდებული ინფორმაციის საფუძველზე.
გაგრძელება ხელმისაწვდომია მხოლოდ წევრებისთვის
ვარიანტი 1. შეუერთდით „საიტის“ საზოგადოებას, რათა წაიკითხოთ საიტზე არსებული ყველა მასალა
საზოგადოებაში გაწევრიანება მითითებულ პერიოდში მოგცემთ წვდომას ჰაკერების ყველა მასალაზე, გაზრდით თქვენს პერსონალურ კუმულატიურ ფასდაკლებას და საშუალებას მოგცემთ დააგროვოთ პროფესიონალური Xakep Score რეიტინგი!