Jump to content

ro0t

წევრი
  • Content count

    8
  • Joined

  • Last visited

  • Days Won

    3

ro0t last won the day on February 16 2016

ro0t had the most liked content!

Community Reputation

4 საწყისი

About ro0t

  • Rank
    დამწყები

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. შევეცდები მაგალითით აგიხსნათ. ვთქვათ ჩვენ შევქმენით int ტიპის ცვლადი - int a; - მაშინ ჩვენ შეგვიძლია წარმოვიდგინოთ, რომ შევქმენით "a" ცვლადი რომელსაც აქვს შემდეგი "თვისებები?" : 1. ცვლადის ტიპი; 2. ცვლადის სახელი; 3. ცვლადის მისამართი; 4. ცვლადის მნიშვნელობა; 5. ცვლადის არსებობის ხანგრძლივობა; 6. ცვლადთან კავშირის შესაძლებლობა; ... მოდით ავიღოთ ამ ეტაპზე ჩვენთვის მნიშვნელოვანი ცვლადის თვისებები : 1. ცვლადის ტიპი; 2. ცვლადის სახელი; 3. ცვლადის მისამართი; 4. ცვლადის მნიშვნელობა; ჩვენს შემთხვევაში კი ჩვენს მიერ გამოცხადებული იქნება დაახლოებით შემდეგი სახის : 1. ცვლადის ტიპი : int : ამით განისაზღვრება, თუ რამდენი ბაიტი გამოიყეფა. 2. ცვლადის სახელი : a : ცვლადის უნიკალური სახელი. 3. ცვლადის მისამართი : 0x7ffeebbkkk50 : ცვლადის უნიკალური მისამართი მეხსიერებაში. 4. ცვლადის მნიშვნელობა : 3523523235 : რაღაც random მნიშვნელობა, რომელიც უბრალოდ მეხსიერების ამ 0x7ffeebbkkk50 მისამართზე წერია. გავრცელებულია ცვლადთან ურთიერთობის 2 ფორმა : ცვლადის სახელით ან ცვლადის მისამართით, ეს იმიტომ, რომ თითოეული არის უნიკალური ანუ არ მეორდება. მაგალითად შევასრულოთ შემდეგი ფუნქცია : { int a; a = 5; printf("%d, %p \n", a, &a); } განხილვა : რა გავაკეთეთ? 1. ჩვენ შევქმენით ცვლადი : int a; ამ დროს "თეორიაში" ეს ცვლადი შეგვიძლია წარმოვიდგინოთ, როგორც : 1. ცვლადის ტიპი : int 2. ცვლადის სახელი : a 3. ცვლადის მისამართი : 0x7ffeebbkkk50 4. ცვლადის მნიშვნელობა : 3523523235 : რაღაც random მნიშვნელობა, რომელიც უბრალოდ მეხსიერების ამ 0x7ffeebbkkk50 მისამართზე წერია. 2. ჩვენ მივანიჭეთ მას მნიშვნელობა : a = 5; ამ დროს "თეორიაში" ეს ცვლადი შეგვიძლია წარმოდიგინოთ, როგორც : 1. ცვლადის ტიპი : int 2. ცვლადის სახელი : a 3. ცვლადის მისამართი : 0x7ffeebbkkk50 4. ცვლადის მნიშვნელობა : 5 3. ჩვენ გამოვიტანეთ ცვლადის მნიშვნელობა და მისამართი ეკრანზე : printf("%d, %p \n", a, &a); გამოგვიტანა : 5, 0x7ffeebbkkk50 უხეშად რომ ვთქვათ, ფოინთერს ეძახიან ცვლადს, რომლის მნიშვნელობაც არის სხვა ცვლადის მისამართი. მოდით ცოტა გავშლი რომ უკეთესად გაიგოთ. გამოვაცხადოთ ფოინთერი, რომელიც მიუთეთებს int ცვლადზე : int *b; b ცვლადი იქნება შემდეგი სახის : 1. ცვლადის ტიპი : int : აქ იგულისხმება იმ ცვლადის ტიპი, რომელზეც ეს ცვლადი მიუთითებს. 2. ცვლადის სახელი : b : ცვლადის უნიკალური სახელი. 3. ცვლადის მისამართი : 0x7ffeebbkkk54 : ცვლადის უნიკალური მისამართი მეხსიერებაში. 4. ცვლადის მნიშვნელობა : 3523523235 : რაღაც random მნიშვნელობა, რომელიც უბრალოდ მეხსიერების ამ 0x7ffeebbkkk54 მისამართზე წერია. ალბათ შეამჩნიეთ სიმბოლო '*' - ეს შეგვიძლია აღვიქვათ, როგორც "მისამართის მნიშვნელობა". ეს სიმბოლო გამოიყენება, მაშინ, როცა ვაცხადებთ ფოინთერს(მაგ. int *b) და მაშინაც, როდესაც ვიღებთ მნიშვნელობას, რომელიც წერია კონკრეტულ მისამართზე( მაგ. printf("%d \n", *b); სადაც b არის ფოინთერი). ალბათ შეამჩნევდით '&' სიმბოლოსაც, რომელიც წინა მაგალითში მოვიყვანე, ეს სიმბოლო შეგვიძლია აღვიქვათ, როგორც "რაღაცის მისამართი", ანუ მას ვიყენებთ მაშინ, როდესაც გვინდა ცვლადის, რაიმეს მისამართის გამოყენება( მაგ. printf("%d, %p \n", a, &a); - აქ ჩვენ მოვითხოვეთ a ცვლადის მნიშვნელობა და მისამართი). მოდით მოვიყვანოთ ფოინთერის გამოყენების მაგალითი : { int a = 5; int *b; b = &a; printf(" %d, %p \n", a, &a); printf(" %p, %p \n", b, &b); } განხილვა : რა გავაკეთეთ? 1. გამოვაცხადეთ ცვლადი და მივანიჭეთ მნიშვნელობა : int a = 5; 2. გამოვაცხადეთ ფოინთერი : int *b; 3. b ცვლადს მივანიჭეთ მნიშვნელობა : b = &a; ცოტა გასაგებ ენაზე რომ გადავთარგმნოთ ეს ბრძანება იქნება ასე : b ცვლადის მნიშვნელობა იყოს a ცვლადის მისამართი. 4. გამოვიტანოთ a ცვლადის მნიშვნელობა და მისამართი : printf(" %d, %p \n", a, &a); 5. გამოვიტანოთ b ცვლადის მნიშვნელობა და მისამართი : printf(" %p, %p \n", b, &b); *შენიშვნა : ალბათ შეამჩნევდით, რომ ცვლადის მნიშვნელობა გამოვიტანე ფოინთერებში და გამოვიყენე b და არა *b, ეს იმიტომ, რომ კარგად დაინახოთ რას აკეთებთ ანუ რა მნიშვნელობას ანიჭებთ b ცვლადს. თუ მე დავწერდი ასეთ ბრძანებას : printf(" %d, %p \n", *b, &b); - მაშინ მე გამომიტანდა იმ მნიშვნელობას, რომელიც აქვს იმ მისამართს, რომელიც მივანიჭეთ b-ს მნიშვნელობად(აქ იგულისხმება a ცვლადის მისამართი). ამრიგად ეს ფუნქცია გამოგვიტანს შემდეგ შეტყობინებას : 5, 0x7ffeebbkkk50 0x7ffeebbkkk50, 0x7ffeebbkkk54 ამით უკვე ნათლად ვხედავთ, რომ b ცვლადის მნიშვნელობა არის a ცვლადის მისამართი. კარგად რომ გოიგოთ *-ისა და & სიმბოლოების მნიშვნელობა, მოდით რამდენიმე მაგალითს მოვიყვან. მაგალითი 1 : { int a=5; printf(" %p \n", &a); } output : 0x7ffeebbkkk50 აღწერა : ფუნქცია გამოგვიტანს a ცვლადის მისამართს. მაგალითი 2 : { int a=5; printf(" %d \n", *(&a)); } output : 5 აღწერა : ფუნქცია გამოგვიტანს მნიშვნელობას, რომელიც აქვს a ცვლადის მისამართს - საბოლოოდ გამოგვიტანს a ცვლადის მნიშვნელობას. მაგალითი 3 : { int a=5; printf(" %p \n", &(*(&a))); } output : 0x7ffeebbkkk50 აღწერა : ფუნქცია გამოგვიტანს მისამართს, რომელსაც აქვს მნიშვნელობა, რომელიც აქვს a ცვლადის მისამართს - საბოლოოდ გამოგვიტანს a ცვლადის მისამართს. რომ შევაჯამოთ, გამოვა, რომ ფოინთერი არის ცვლადი, რომლის მნიშვნელობაც არის სხვა ცვლადის მისამართი. მასთან მუშაობისთვის ვიყენებთ 2 სიმბოლოს '*' და '&'. ერთით ჩვენ ვიღებთ მნიშვნელობას, ხოლო მეორით - მისამართს. პ.ს. ესაა ის ელემენტალური, რაც უნდა იცოდეთ დასაწყისში ფოინთერების შესახებ. თუ რაიმე მომენტს ვერ გაიგებთ გთხოვთ მიმითითოთ, რათა უკეთ ავხსნა.
  2. IPB ძრავი და IP მისამართები როგორც ცნობილია, თითოეული ძრავი ინახავს მონაცემებს ბაზაში და მათ შორის IP მისამართებსაც. დღეს შევეცდები აგიხსნათ ის მეთოდი, რომლის საშუალებითაც ცვლილებას შევიტანთ IPB ძრავაში, რათა არ მოხდეს IP მისამართების შენახვა. გვესაჭიროება : 1. IPB ძრავის დაყენება . 2. Database(ჩვენ შემთხვევაში) = MYSQL. 3. OS = Linux. მოდით “უხეშად” გავყოთ IPB ძრავის მუშაობის პრინციპი. ჩვენ გვაქვს ორი ძირითადი ნაწილი. ესენია : IPB ძრავის სკრიპტები(ძირითადად PHP ენაშია დაწერილი) და Database. IPB ძრავის სკრიპტებში არის ფუნქციები, რომლებიც იღებენ, ამუშავებენ და ინახავენ ინფორმაციებს. ისინი ინფორმაციის შესანახად იყენებენ Database-ს. ამ უკანასკნელში კი ინახება ყველა ძირითადი ინფორმაცია(პოსტები, აქტივობები, ცვლილებები და ა.შ.) მათ შორის მომხმარებლის IP მისამართები. იმისათვის, რათა გავიგოთ თუ როდის, რატომ, კონკრეტულად სად ინახავს IP მისამართებს ბაზაში ამისათვის ჩვენ დაგვჭირდება ბაზისთვის თვალის შევლება. ჩვენი მიზანია ბაზიდან მოვიპოვოთ იმ Table-ების სახელები, სადაც ინახებე IP მისამართები. IPB ძრავის შემთხვევაში ესენია : +---------------------------------------+----------------------------+ | TABLE_NAME | COLUMN_NAME | +---------------------------------------+----------------------------+ | admin_login_logs | admin_ip_address | | admin_logs | ip_address | | core_share_links_log | log_ip_address | | core_sys_cp_sessions | session_ip_address | | dnames_change | dname_ip_address | | error_logs | log_ip_address | | forums_archive_posts | archive_ip_address | | members | ip_address | | message_posts | msg_ip_address | | moderator_logs | ip_address | | posts | ip_address | | profile_ratings | rating_ip_address | | rc_comments | ip_address | | sessions | ip_address | | spam_service_log | ip_address | | spider_logs | ip_address | | topic_ratings | rating_ip_address | | upgrade_sessions | session_ip_address | | validating | ip_address | | voters | ip_address | +---------------------------------------+----------------------------+ 20 rows როგორც ჩანს სულ 20 ადგილას ინახავს IPB ძრავი ბაზაში IP მისამართს. ახლა ჩვენ უკვე ვიცით თუ კონკრეტულად სად ინახავს IP მისამართებს IPB ძრავი. ახლა ჩვენი მიზანია მოვძებნოთ IPB სკრიპტებში ის ფრაგმენტები, რომლებიც DB-ის ამ Table-ებში ინახავენ ინფორმაციებს. OS Linux-ის შემთხვევაში ამ ფრაგმენტების პოვნა გაცილებით ადვილია, ამისათვის უნდა გადავიდეთ იმ საქაღალდეში, სადაც მოთავსებულია ჩვენი IPB ძრავი( მაგალითად : /var/www/html/) და grep(ან sed ან სხვა) ტერმინალური პროგრამის საშუალებით დავასკანირებთ ყველა საქაღალდებს თავიანთი ქვესაქაღალდეებით. მაგალითად - ls -l | grep -r 'posts' >> ../Posts ბრძანების საშუალებით ჩვენ ვიპოვით ყველა იმ ფაილს, რომელშიც სიტყვა post არის ჩაწერილი. ამ ინფორმაციას კი შეინახავს Posts ფაილში, რომელიც შეიქმნება ჩვენი საქაღალდის “ზე/წინა/დედა/საქაღალდეში”. თუ ცოტა PHP ენასაც გადავხედავთ, დავინახავთ, რომ PHP ბაზაში ინფორმაციას ძირითადად ინახავს შემდეგი ბრძანებების საშუალებით : INSERT ან UPDATE. ახლა კი კიდევ გავფილტროთ ჩვენი Posts ფაილი შემდეგი ბრძანებით : ბრძანება - cd .. && ls -l | grep -r 'insert' ./Posts >> PostAndInsert ამ ბრძანების საშუალებით მივიღებთ ფაილს PostAndInsert, რომლის გახსნის შემთხვევაშიც დავინახავთ ფაილების მისამართებს სადაც წერია insert და post სიტყვა ერთ ხაზზე. ან სულაც პირიქით, ჯერ გავფილტროთ ყველა ის ხაზი სადაც წერია insert (ls -l | grep -r 'posts' >> ../insert), ხოლო შემდგომ თითოეული Tables-სთვის გავფილტროთ(cd .. && ls -l | grep -r 'post' ./insert >> PostAndInsert). ასეთი მეთოდის საშუალებით ჩვენ შევძლებთ სწრაფად ვიპოვოთ ის ფაილები, რომლებსაც შეაქვთ ცვლილებები ბაზაში და ინახავენ IP მისამართებს. ახლა კი უბრალოდ მოგვიწევს თითოელი ფაილის გახსნა დათვალიერება და პოვნა კოდის იმ ფრაგმენტებისა, რომლებიც ინახავენ IP მისამართებს. მმაგალითად, ჩვენთვის საინტერესოა შემდეგი “admin/applications/forums/sources/classes/post/classPost.php” ფაილი. ჩვენ ვიცით, რომ ფაილში აუცილებლად იქნება კოდი, რომელიც იმოქმედებს ბაზის posts'ის Table-ზე. ხოლო ჩვენ შევეცდებით კოდს მუშაობაში ხელი არ შევუშალოთ ანუ არ დავაზიანოთ და შევცვალოთ ip_address-ის მონაცემი. ძირითადად კი მოგვიწევს იმ ხაზების რედაქტირება, რომელიც IP მისამართებს ეხება. მაგალითად : 'ip_address' => $this->member->ip_address, ამ კოდის საშუალებით ip_address მიენიჭება $this->member->ip_address-ის მნიშვნელობა(მომხმარებლის IP მისამართი), ხოლო ჩვენ კი შევცვლით შემდეგი კოდით - 'ip_address' => "666.666.666.666", რითაც ip_address-ს მივანიჭებთ შემდეგ მნიშვნელობას -"666.666.666.666". ამრიგად, ბაზაში არა ნამდვილი, არამედ გაყალბებული ინფორმაცია შეინახება. ახლა კი შევეცდები ცოტა ხელი მოგიმართოთ და მიგითითოთ თუ რა ცვლილებები უნდა შეიტანოთ იმისათვის, რათა გააყალბოთ IP მისამართები. მონაცემებს მოგაწვდით შემდეგი სახით : NUM. | Table_name | Column_name | File Location = *** File Name = *** Edit : line NUM : "არის" />> "უნდა იყოს" // კომენტარი SQL : SQL ბრძანება შედეგის შესამოწმებლად * შენიშვნა როდესაც ცვლილებებს შეიტანთ, არ დაგავიწყდეთ სერვერის გადატრვირთვა და მონაცემთა ბაზის შემოწმება. 1. | admin_login_logs | admin_ip_address | File Location = admin/applications/core/modules_admin/login File Name = manualResolver.php Edit : line 446 : $this->member->ip_address />> "666.666.666.666", // admin_login_logs SQL : Select admin_ip_address from admin_login_logs; * თუ კონტროლ პანელში არ შეგიშვებთ, მაშინ შეცვალეთ initdata.php - line 303 : define( 'IPB_ACP_IP_MATCH', 1 ); />> define( 'IPB_ACP_IP_MATCH', 0 ); 2. | admin_logs | ip_address | File Location = admin/sources/classes File Name = class_admin_functions.php Edit : line 271 : $this->member->ip_address />> "666.666.666.666", // admin_logs SQL : Select * from admin_logs; 3. | core_share_links_log | log_ip_address | File Location = admin/sources/classes/share File Name = links.php Edit: line 269 : $this->member->ip_address />> "666.666.666.666", // core_share_links_log SQL : select log_ip_address from core_share_links_log; 4. | core_sys_cp_sessions | session_ip_address | File Location = admin/applications/core/modules_admin/login File Name = manualResolver.php Edit : line 236 >> $this->member->ip_address />> "666.666.666.666"", // core_sys_cp_sessions SQL : Select admin_ip_address from admin_login_logs; 5. | dnames_change | dname_ip_address | File Location = admin/sources/classes/member File Name = memberFunctions.php Edit: line 126 : $member['ip_address'] />> "666.666.666.666", // dnames_change SQL : select dname_ip_address from dnames_change; 6. | error_logs | log_ip_address | File Location = admin/sources/classes/output File Name = publicOutput.php Edit: line 3890 : $this->member->ip_address />> "666.666.666.666", // error_logs line 3935 : $this->member->ip_address />> "666.666.666.666", // error_logs SQL : select log_ip_address from error_logs; 7. | forums_archive_posts | archive_ip_address | File Location = admin/sources/classes/archive File Name = writer.php Edit: line 573 >> $post['ip_address'] />> "666.666.666.666", // not necessary it copys post's ip... SQL : select archive_ip_address from forums_archive_posts; 8&19.| members | ip_address | Register : File Location = admin/applications/core/modules_public/global File Name = register.php Edit : line 864 : $member['ip_address'] />> "666.666.666.666", // validating || Did we put them in validating? line 882 : $tmp_member['ip_address'] />> "666.666.666.666", /* Send out notification */ line 932 : $member['ip_address'], />> "666.666.666.666", // validating || insert ins Validating Table - DB line 1265: $this->member->ip_address, />> "666.666.666.666", // revalidate line 1856: $this->member->ip_address, />> "666.666.666.666", // Create Member line 1918: $this->member->ip_address, />> "666.666.666.666", // Create Account line 1958: $member['ip_address'], />> "666.666.666.666", // validating line 1999: $member['ip_address'], />> "666.666.666.666", // send new registration email if the member wasn't banned line 2036: $member['ip_address'], />> "666.666.666.666", // send new registration email if the member wasn't banned line 2077: $member['ip_address'] />> "666.666.666.666". // validating || This is a COPPA user, so lets tell them they registered OK and redirect to the form. SQL : Select ip_address from validating; SQL : Select ip_address from members; 9. | message_posts | msg_ip_address | File Location = /admin/applications/members/sources/classes/messaging File Name = messengerFunctions.php Edit : line 1416 : $this->member->ip_address />> "666.666.666.666" // message_posts || Add the post line 1784 : $this->member->ip_address />> "666.666.666.666" // message_posts || Update Posts line 1829 : $this->member->ip_address />> "666.666.666.666" // message_posts || Insert new SQL : Select msg_ip_address from message_posts; 10. | moderator_logs | ip_address | File Location = admin/applications/forums/sources/classes/post File Name = classPost.php Edit : line 2147 : $this->ip_address />> "666.666.666.666", // moderator_logs || Update poll line 2181 : $this->ip_address />> "666.666.666.666", // moderator_logs || Update poll line 2247 : $this->ip_address />> "666.666.666.666", // moderator_logs || Update topic title line 3252 : $this->member->ip_address />> "666.666.666.666", // moderator_logs SQL : Select ip_address from moderator_logs; File Location = admin/applications/forums/sources/classes/post File Name = topics.php Edit : line 1170 : $this->member->ip_address />> "666.666.666.666", // moderator_logs || Update topic title SQL : Select ip_address from moderator_logs; File Location = admin/applications/forums/sources/classes File Name = moderate.php Edit : line 2098 : $this->member->ip_address />> "666.666.666.666", // moderator_logs || Update topic title SQL : Select ip_address from moderator_logs; 11. | posts | ip_address | File Location = admin/applications/forums/sources/classes/post File Name = classPost.php Edit : line 2019 : $this->_originalPost['ip_address'] />> "666.666.666.666" // posts || function editPost()... line 3163 : $this->member->ip_address, />> "666.666.666.666" // bw_post_from_mobile || function compilePostData() SQL : Select ip_address from posts; 12. | profile_ratings | rating_ip_address | File Location = admin/applications/members/modules_public/ajax File Name = rate.php Edit : line 129 : $this->member->ip_address />> "666.666.666.666" // profile_ratings || NEW RATING! SQL : Select rating_ip_address from profile_ratings ; 13. | rc_comments | ip_address | File Location = admin/sources/classes/comments File Name = bootstrap.php Edit : line 883 : $this->member->ip_address />> "666.666.666.666", // rc_comments || Comment SQL : Select ip_address from rc_comments; 14. | sessions | ip_address | browser | File Location = admin/sources/classes/session File Name = publicSessions.php Edit: line 955 : $this->_member->ip_address, />> "666.666.666.666", // for IP line 1147 : $this->_member->ip_address, />> "666.666.666.666", // for IP line 738 : 'uagent_key' => $uAgent['uagent_key'], />> 'uagent_key' => "firefox", // Set up data line 739 : 'uagent_version' => $uAgent['uagent_version'], />> 'uagent_version' => "31", // Set up data line 853 : 'uagent_key' => $uAgent['uagent_key'], />> 'uagent_key' => "firefox", line 854 : 'uagent_version' => $uAgent['uagent_version'], />> 'uagent_version' => "31", line 956 : 'browser' => $this->_userAgent, />> 'browser' => "Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Firefox/31.0", // For DB line 967 : 'uagent_key' => $uAgent['uagent_key'], />> 'uagent_key' => "firefox", // for DB line 968 : 'uagent_version' => $uAgent['uagent_version'], />> 'uagent_version' => "31", //for DB line 1159 : 'uagent_key' => $uAgent['uagent_key'], />> 'uagent_key' => "firefox", // for the new session line 1160 : 'uagent_version' => $uAgent['uagent_version'], />> 'uagent_version' => "31", // for the new session SQL : select * from sessions; 15. | spam_service_log | ip_address | File Location = admin/sources/base File Name = ipsMember.php Edit: line 4105 : $ip />> "666.666.666.666" // spam_service_log SQL : select ip_address from spam_service_log; 16. | spider_logs | ip_address | File Location = admin/sources/base File Name = ipsRegistry.php Edit : line 4053 : self::instance()->ip_address />> "666.666.666.666", // topic_ratings || NEW RATING! SQL : Select ip_address from spider_logs; 17. | topic_ratings | rating_ip_address | File Location = admin/applications/forums/modules_public/ajax File Name = topics.php Edit : line 1067 : $this->member->ip_address />> "666.666.666.666" // topic_ratings || NEW RATING! SQL : Select rating_ip_address from topic_ratings; 18. | upgrade_sessions | session_ip_address | File Location = admin/setup/sources/classes/session File Name = sessions.php Edit: line 212 : self::instance()->ip_address, />> "666.666.666.666", SQL : select * from upgrade_sessions ; 19. | validating | ip_address | File Location = admin/applications/core/modules_public/global File Name = lostpass.php Edit : line 355 : $this->member->ip_address, />> "666.666.666.666", // validating || for Lost Password Base line 374 : $this->member->ip_address, />> "666.666.666.666", // validating || for Lost Password Email SQL : Select ip_address from validating; 20. | voters | ip_address | File Location = admin/applications/forums/modules_public/extras File Name = vote.php Edit : line 235 : $this->member->ip_address />> "666.666.666.666", // voters || Add voter line 294 : $this->member->ip_address />> "666.666.666.666", // voters || Add null vote SQL : Select ip_address from voters; Other : File Location = admin/applications/members/modules_admin/members File Name = members.php Edit : line 774 : IPSMember::findIPAddresses( $member['member_id'] ); />> "888.888.888.888"; // not to ban IP(666.666.666.666); line 1544 : $this->member->ip_address />> "666.666.666.666" line 1565 : $this->member->ip_address />> "666.666.666.666" File Location = admin/sources/base File Name = ipsMember.php Edit: line 4397 : $member['ip_address'] />> "666.666.666.666", ეს არაა სრულყოფილი და ზუსტი ჩამონათვალი, ამიტომ კარგი იქნება თუ თქვენც მოძებნით, შეადარებთ და უზუსტობის/გამორჩენის შემთხვევაში შემატყობინებთ. მე მოვიყვანე მაგალითი IPB ძრავაზე, თუმცა სხვა ძრავებზეც შეგიძლიათ გამოიყენოთ ეს მეთოდი. გმადლობთ ყურადღებისთვის. @Scripts.GE
  3. სამწუხარო ფაქტია, მაგრამ ადრე თუ გვიან ეს აუცილებლად მოხდებოდა. ვფიქრობ, რომ ხალხი მოდერატორად არა აქტივობის, ფორუმისთვის კარგი თემების დაწერისა და სხვა კეთილი საქმეებისთვის უნდა ინიშნებოდეს, არამედ მოდერატორისთვის დამახასიათებელი თვისებების გამო : სამართლიანი, თავისუფალი დროის მქონე, მიუკერძოებელი და ა.შ. მესმის რომ ადმინისტრატორს უნდა პატივი სცეს, დააფასოს მომხმარებლების აქტივობა და ამიტომაც აძლევს მათ მოდერატორობას, მაგრამ საბოლოოდ ეს ფორუმს არ გამოადგება. თუ ადმინისტრატორს უნდა მათი დაფასება, არსებობს "სტატუსები"(მაგ. VIP), რითიც ხაზი ესმევა ამ პიროვნების პატივისცემას ფორუმის ადმინისტრაციის მხრიდან. ასევე არამგონია "აქტიური" მომხმარებლის მოდერატორად დანიშვნამ რაიმე სარგებელი მოუტანოს ფორუმსს. ჯერ ერთი მას აღარ ექნება დრო ახალი თემების დაწერისთვის და ასევე პოსტების თვალიერებასა და ფორუმზე წესრიგის გაკონტორლებაში დროს დაკარგავს, რაც მის პროდუქტიულობაზე უარყოფიდად იმოქმედებს. პ.ს. ახლა რამდენი მოდერატორია ფორუმზე? პ.პ.ს. სამაგალითოა ადმინისტრატორის ასეთი დამოკიდებულება საქმისადმი +
  4. ადმინისტრაციავ, ეს თემა რეკლამად არ ითვლება?!
  5. ზოგადი ინფორმაცია => .Onion. OS => Ubuntu. Website : Step 1: დავაყენოთ Apache : Command : sudo apt-get install apache2 Step 2: დავარედაქტიროთ Index.html ფაილი : Command : sudo vi /var/www/html/index.html წავშალოთ ყველაფერი, ჩავწეროთ ქვემოთ მოცემული კოდი და შევინახოთ : <html> <body> <h3> Hello Scripts.Ge </h3> </body> </html>Step 3: დავაყენოთ Tor : Command : sudo apt-get install tor Step 4: დავარედაქტიროთ Tor-ის კონფიგურაციის ფაილი : Command : sudo vi /etc/tor/torrc Add : HiddenServiceDir /var/lib/tor/hidden_web/ => ეს იქნება ადგილი სადაც შეინახება საიტის მისამართი და გასაღები. Add : HiddenServicePort 80 127.0.0.1:80 => აქ უნდა დაწეროთ მისამართი, სადაც გაქვთ საიტი "აწეული". Step 5: გადავტვირთოთ Tor-ის სერვისი : Command : sudo service tor restart Step 6: ვნახოთ ჩვენი .Onion მისამართი : Command : sudo cat /var/lib/tor/hidden_web/hostname Step 7: Use it : IRC : Step 1: გადმოვწეროთ UnrealIRCd : Command : wget https://codeload.github.com/unrealircd/unrealircd/zip/unreal40 Step 2: ამოვარქივოთ : Command : unzip unreal40 Step 3: დავაყენოთ სერვერი : Command : ./Config && make && make install პს. კითხვებზე თქვენი სურვილისამებრ უპასუხეთ. ამ შემთხვევაში ყველაფერს Default-ად დავტოვებ. Step 4: გავხსნათ კონფიგურაციის ფაილი და შევცვალოთ ჩვეთვის სასურველი ინფორმაცია. Command : vi ./conf/examples/example.conf პს. სავალდებულოა შემდეგი პარამეტრების შეცვლა : ln 143 : bobsmith => oper "Name" => oper ro0t ln 146 : oper => password "test" => password *** ln 377/8/9 : 3 სხვადასხვა სიტყვა. ln 387 : შეცვალეთ მეილი. შევინახოთ ./conf საქაღალდეში unrealircd.conf სახელით. Step 5: გავუშვათ სერვერი : Command: ./unrealircd start პს. წესით სერვერი უნდა გაეშვას. შესაძლებელია მოგთხოვოთ კონფიგურაციის ფაილში სხვადასხვა სავალდებულო ცვლილებების შეტანა. Step 6: დავარედაქტიროთ Tor-ის კონფიგრაციის ფაილი: Command: sudo vi /etc/tor/torrc Add : HiddenServicePort 6667 127.0.0.1:6667 Step 7: კლიენტს ვთხოვოთ რომ საკუთარი Tor-ის კონფიგურაციის ფაილში დაამატოს შემდეგი ბრძანება : Command: mapaddress 88.77.66.55 ***.onion => იპ ადრესი და ჩვენი .onion საიტის მისამართი დაარესტარტოს Tor-ის სერვისი და IRC Client-ის საშუალებით დაუქონექთდეს 88.77.66.55 მისამართს. შედეგი დაახლოებით ასეთი იქნება : PS. თუ რაიმეს ვერ გაიგებთ დაწერეთ და შეძლებისდაგვარად დაგეხმარებით. @Scripts.Ge
  6. http://stackoverflow.com/questions/10888391/error-link-fatal-error-lnk1123-failure-during-conversion-to-coff-file-inval მეორე პასუხი სცადეთ.
  7. როგორც ვიცი, Flash-მა შეწყვიტა Firefox-ისთვის ვერსიის განახლება. მართლია შეგიძლიათ Pepper Flash დააყენო, მაგრამ უკეთესია chromium დააინსტალიროთ და იქ უყუროთ ხოლმე.
×