안녕하세요, 블로그 사이트 독자 여러분. 그래서 우리는 SMF라는 포럼 엔진을 설정하는 주제를 계속해서 포스팅에서 시작했습니다. 거기에서 우리는 아직 영어 인터페이스의 번역 측면에서 포럼을 러시아어로 만들지 않았습니다. 에 이 순간보기에 좋지는 않지만 Russification(아직 수행되지 않은 경우) 및 적절한 섹션을 만든 후에는 모양이 크게 향상됩니다.

오늘 우리는 테마를 고려하여 러시아어로 만들고 두 엔진(Jumla 및 SMF 모두)에서 작동할 수 있는 JFusion 구성 요소를 설치하여 두 가지 및 한 가지 형식의 등록에 대한 공통 사용자 기반을 가질 수 있습니다. 그리고 로그인.

러시아어 언어 팩의 테마 및 설치

간단한 엔진 기계 포럼주제 변경 기능을 지원하며 전체 포럼과 특히 개별 섹션 모두에서 주제를 변경할 수 있습니다. 개인적으로 기본 테마를 사용했지만 수동으로 많이 변경했습니다. 특히 배경, 일부 요소의 색 구성표를 변경하고 플래시 시계, 라디오 등을 추가했습니다. 이에 대해서는 이 섹션의 후속 게시물에서 다루겠습니다.

포럼을 만들 때 추가 테마를 사용하지 않은 이유는 무엇입니까? 글쎄, 그것은 아마도 내 게으름 때문일 것입니다. 아니요, 새 테마를 찾고 다운로드하는 데 너무 게으르지 않았습니다. 이 작업을 수행할 수 있는 곳이 많기 때문입니다. 나의 게으름은 다른 곳에 있다.

사실 기능을 확장하도록 설계된 이 엔진의 모든 다양한 모드는 특히 기본 테마에 중점을 둡니다. 내가 설명한다. 기본 테마가 있는 경우 이 모드 또는 해당 모드를 SMF에 추가하는 데 몇 초가 걸리며 일반적으로 코드를 수동으로 편집할 필요가 없습니다.

기본 테마가 아닌 다른 디자인 테마에 모드를 설치하는 경우 말대로 모든 원시 세부 사항을 파일로 처리해야 합니다. 다시 말해서, 당신은해야 할 것입니다 파일질라 사용(다운로드 및 구성, FTP를 통해 사이트에 액세스하고 포럼 엔진의 파일 편집을 위해 열 수 있습니다. 이 모드변경합니다.

그런 다음 검색 올바른 장소코드에서 코드를 교체하거나 삭제하거나 필요한 조각 앞이나 뒤에 코드 조각을 추가하는 등 필요한 작업을 수행합니다. 변경해야 할 파일이 약 12개 있다는 점을 고려하면 이것이 얼마나 번거로운 일인지 상상할 수 있습니다. 이 경우 포럼이 전혀 열리지 않을 수 있으므로 매우 조심하고 실수하지 않아야 합니다.

위에 나열된 기본이 아닌 테마를 사용하는 모든 문제가 두렵지 않다면 여기에서 다운로드할 수 있습니다. 거기에 있는 주제는 섹션(미니멀리즘, 고전에 가까운, 현대 등)으로 분류되어 있으며 각 주제에 대한 스크린샷을 볼 수 있습니다. 전체 화면. 이 동일한 테마를 설치하는 방법은 잠시 후에 알려 드리겠습니다.

엔진 파일을 호스팅에 업로드하는 단계에서 포럼을 Russify하지 않았다면 이 작업의 첫 부분(기사 맨 처음에 있는 링크 참조)에서 설명한 대로 지금 할 수 있습니다. 이 페이지에서 러시아어 사전 다운로드 언어 팩원하는 것으로 압축을 푼 다음 Themes 폴더를 다음으로 복사해야 합니다. 루트 폴더같은 이름의 디렉토리가 이미 있는 경우.

복사가 완료되면 관리자 로그인과 비밀번호로 포럼에 접속하셔야 합니다. 상단 메뉴에서 "관리자"를 선택한 다음 왼쪽 열에서 "서버 설정"을 클릭합니다.

열리는 창에서 "기본 포럼 언어" 항목을 찾아 드롭다운 목록에서 러시아어를 선택한 다음 페이지 하단의 "저장" 버튼을 클릭합니다.

이제 귀하의 회의는 완전히 러시아어로 진행됩니다.

러시아어를 지원하지 않는 모드 설치 시 문제 해결

앞으로 러시아어 번역이 없는 모드를 SMF에 추가할 때 관리자 패널에 모드 설정을 표시하는 데 문제가 있을 수 있습니다. 실제로 관리자 패널의 이러한 설정은 단순히 표시되지 않습니다. 그들에 대한 러시아화 파일은 없을 것입니다. 따라서 이 문제를 해결하기 위한 두 가지 옵션이 있습니다.

첫 번째 방법은 전체 포럼을 영어로 전환하는 것입니다. 이 작업을 수행하는 방법은 위의 몇 단락을 볼 수 있습니다. 따라서 이러한 설정으로 필요한 작업을 수행한 후 러시아어로 다시 돌아가야 합니다.

두 번째 방법은 더 복잡하지만 활성화된 경우뿐만 아니라 항상 관리자 패널에서 설치된 모드의 설정을 볼 수 있습니다. 영어의. 누군가가 모드를 설치했는데 보드의 관리자 패널에서 설정을 찾을 수 없다는 질문은 매우 흔한 질문이기 때문에 이 점에 대해 자세히 설명합니다.

따라서 두 번째 방법은 새로 추가된 모드의 Russification 파일에 번역 라인을 추가하는 것입니다. 어떤 Russification 파일을 변경해야 하는지, 어디서 구할 수 있는지 결정하는 방법은 나중에 알려 드리겠습니다. 그 동안 일시적으로 첫 번째 방법을 사용할 수 있습니다.

사이트 및 포럼 통합을 위한 JFusion 설치

먼저 JFusion과 Russification을 다운로드해야 합니다. Joomla 관리자 패널에 들어가면 표준 작업을 수행합니다. 상위 메뉴관리자 패널 항목 "확장" - "설치/제거" - ​​"패키지 파일 업로드" - "찾아보기" 버튼 - 컴퓨터에서 jfusion_package.zip 구성 요소가 있는 파일을 찾습니다. - "파일 업로드 및 설치" 버튼을 클릭합니다. >".

그런 다음 구성 요소가 성공적으로 설치되었음을 알리는 창이 나타납니다. 문제가 발생하면 바로 위의 링크에서 일부 문제를 해결하기 위한 옵션에 익숙해질 수 있습니다.

이제 구성 요소 자체와 동일한 방식으로 추가되는 Russification의 차례입니다. 저것들. "확장" - "설치/제거" - ​​"패키지 파일 업로드" - "찾아보기" 버튼 - 컴퓨터에서 JFusion Russification 파일 찾기 - "파일 업로드 및 설치" 버튼을 클릭하여 일련의 작업을 반복합니다. 이제 "Components" - "JFusion" 경로를 따라 설정으로 이동하여 Russification이 성공적으로 추가되었고 작동하는지 확인할 수 있습니다.

행운을 빕니다! 블로그 페이지 사이트에서 곧 만나요

당신은 관심이있을 수 있습니다

Fusion용 JFusion 구성 포럼 SMF및 Joomla 사이트
사이트에 포럼의 메시지를 표시하고 SMF에서 Joomla로 돌아가기 위한 버튼을 생성하기 위한 JFusion 모듈
포럼에 입장하기 위해 Joomla에서 메뉴 항목 생성 및 SMF에서 사이트로 사용자 등록 전송
SMF 포럼 설치 - JFusion 구성 요소를 사용하여 Joomla 1.5 및 Simple Machines 포럼 통합
Joomla용 확장 - Joomla용 구성 요소, 모듈 및 플러그인 다운로드 위치, 설치 및 제거 방법
Joomla에서 블로그, 카탈로그 및 포털을 만들기 위한 K2 구성 요소 - 기능, 설치 및 Russification Joomla용 사진 갤러리 - 파트 3 - Phoca 갤러리 구성 요소를 사용하여 Joomla 1.5에서 갤러리 만들기 - 사진 갤러리에 범주 추가 및 이미지 업로드
ARTIO JoomSEF - Joomla에서 CNC(SEF) 링크 및 제목 설정, 이 확장을 사용하여 404 오류 페이지 생성
Akeeba Backup(이전 JoomlaPack) - Joomla에서 사이트 백업 생성 및 복원 지원두 번의 클릭으로

계획되지 않은 Botmaster Labs에서 주최합니다. 시간이 없다. 콘테스트에 영상이 필요하다, 새로운 트렌드로, 좋은 스크린샷(나의 IMHO)으로 모든 것을 설명하는 것이 더 쉽고 아무 것도 찍고 싶지 않다. 수익성있는 주제가 거의 남아 있지 않고 멍청한 스팸이 더 이상 규칙이 아닙니다. 여기에서 생각해야하며 쓸모없는 것이 아름다운 포장과 가루에 조금 넣어 보려고하면 아무도 주제를 쏘지 않을 것입니다. :) 그러나 이것은 우리에 관한 것이 아닙니다. 일반적으로 이 3가지 "not"은 기본적으로 대부분의 잠재적 참가자가 경쟁에 참여하는 데 장애가 되었다고 생각합니다. 그것은 세 가지 중 하나의 자동차 수리와 같습니다. 저렴하고 고품질이며 빠름 - 서비스에서 동시에 2 가지 조건 만 충족 할 수 있습니다. 앉아서 당신에게 더 가까운 것을 선택하십시오. :) 대회도 마찬가지입니다 : 시간이 있다, 영상을 만들 수 있는데 주제가 없거나, 영상을 만들 수 있다, 주제가 있는데 시간이 전혀 없거나, 자유 시간과 작은 주제가 있지만 비디오는 무섭습니다. 하지만 2가지 조건이 동시에 충족되면 좋습니다. 좋아, 가사를 버리자. 나는 나 자신에게 계속할 것이다. 그럴 생각이 없었기 때문에 대회에 참가하게 되었고, 어떤 기사에 투표할지 결정하기도 했습니다. 당신이 좋아하는 것을 말하세요. 하지만 Doz는 소프트웨어를 아주 잘 알고 있고 그것을 매우 현명하게 사용하는 방법을 알고 있습니다. 그러나 오늘 나는 경쟁에서 음모가 나타났다는 것을 배웠습니다. 제가 투표를 할 수는 없지만, 2011년에 소프트웨어를 구입하고 이를 위해 대회가 설계된 초보자만 투표할 수 있습니다. 조금 놀랐지만 주인은 신사입니다. 경쟁은 광고 캠페인이며 Alexander는 그것을 수행하는 방법을 더 잘 알고 있습니다. 일반적으로 나는 기사를 게시하기로 결정했습니다. 사실 전체 집단 농장에 대해 이것을하는 것은 불가능합니다.
긴 소개는 끝났고, 이제 본론입니다.
초보자가 Xrumer + Hrefer 콤플렉스인 슈퍼 하베스터를 획득했을 때 무엇이 ​​필요합니까? 맞습니다. 작업하는 방법을 배우고 스팸 시트를 시작하여 돈을 벌 수 있다는 환상을 버리십시오. 그렇게 생각한다면 즉시 자선 단체에 돈을 기부하십시오. 복잡한 도구를 사용하는 방법을 배워야 하며, 가급적이면 직접 연마해야 합니다. "더 많이 - 더 많이 던지는" 시간은 끝났습니다. 양이 질로 이어집니다. 그래서 우리는 우리 자신을 위해 기지를 수집하고 그것을하는 방법을 배우지 않을 것입니다. 당신은 기차 뒤에 떨어질 것입니다. 물론 Khrefer가 이를 도와줄 것입니다. Google에서 리소스를 홍보할 계획이라면 Google을 통해 기부자 사이트도 찾아야 합니다. 나는 이것이 이해 가능하고 논리적이라고 생각합니다. 그러나 구리 산의 여주인 인 Google은 모든 사람에게 부를 제공하지 않습니다. 접근이 필요합니다. 대중에서 찾은 표시에 따라 무언가를 수집 할 수 있기를 희망하지 않는다고 즉시 말하고 싶습니다. 그것이 가치가 없기 때문에 공개적으로 사용할 수 있는 이유입니다. 나는 더 이상 주제를 발전시키지 않을 것이다. 결과를 볼 수 있도록 올바르게 조립하는 방법을 알려주는 것이 낫습니다. 나머지는 스스로 마무리 할 것입니다. 가장 중요한 것은 원리를 이해하는 것입니다. 일반적으로 포럼의 표시가 아니라 필요한 특정 엔진의 표시에 따라 올바른 엔진에 따라 수집해야 합니다. 그것 주요 실수초보자 - 특정 항목에 집중하지 말고 모든 것을 전체적으로 다루십시오. 그러나 어느 정도 일반 기반을 구문 분석하려면 쿼리에서 연산자 사용을 거부하십시오. "inurl:", "site:", "title" 등이 없습니다. Google은 귀하와 같은 검색자를 즉시 ​​차단합니다. 따라서 우리는 신중하게 엔진을 연구합니다. 이 순간 Hrumer 작동:

php-Fusion에 의해 구동

Chrumer 버전 7.07에서 프로그램은 몇 가지 새로운 엔진으로 훈련되었습니다.

forumi.biz, forumb.biz, 1forum.biz, 7forum.biz 등

phpBB-fr.com, 솔라리스 phpBB 테마

그리고 새로운 것을 배우는 과정은 끊임없이 계속됩니다.
일반적으로 Khrefer의 구문 분석을 위해 올바른 쿼리를 준비해야 합니다. 포럼 dizhok을 예로 들어 보겠습니다. SMF 포럼. 그리고 우리는 그것을 파싱을 위해 부품으로 분해하기 시작할 것입니다. 사랑하는 Google이 이를 도와줄 것입니다. Google 쿼리 입력 SMF 포럼- 문제의 많은 쓰레기, 약 13 페이지로 되감고 링크를 선택하십시오. 나는 이것을 발견했습니다 : http://www.volcanohost.com/forum/index.php?topic=11.0 . 열어서 탐색해 봅시다. 이 엔진의 다른 페이지 검색에 적용할 수 있는 페이지의 특징을 찾아야 합니다. 바닥글에서 우리는 다음과 같은 비문을 볼 수 있습니다. SMF 1.1.14 제공, 인용하고 Google에 입력하면 이 요청에 대해 약 5900만 개의 옵션을 알고 있음을 알 수 있습니다. 링크를 훑어보고 이 키워드에 몇 가지 옵션을 더 추가합니다. 예를 들면 다음과 같습니다. "Powered by SMF 1.1.14" 포플러또는 SMF 1.1.14 비아그라 제공. 포럼만 발행하고 쓰레기는 거의 없다는 점에서 요청이 세련되었다고 확신합니다.

게다가 위에서 말했듯이 우리는 양보다는 질에 관심이 있습니다. 계속 진행합니다. 같은 포럼에서 바닥글에서 다른 문구를 가져옵니다. , 또한 인용하여 Google에 제공합니다. 이에 대해 그는 1300만 개 이상의 결과를 알고 있다고 밝혔습니다. 다시, 우리는 출력을 훑어보고 추가 단어를 추가하고 출력을 확인합니다. 우리는 요청이 훌륭하고 쓰레기가 거의 없는지 확인합니다. 일반적으로 이미 2개의 철 요청이 있습니다. 첫 번째 포럼은 지금은 그대로 두고 계속해서 다른 포럼의 요청을 수집하는 것이 좋습니다. 다행히 Google은 요청 시 열려 있습니다. 2006-2008 심플 머신 LLC. 예를 들어 http://www.snowlinks.ru/forum/index.php?topic=1062.0 및 http://litputnik.ru/forum/index.php?action=printpage 포럼과 같은 문제에서 가져옵니다. 바닥글의 topic=380.0에서 "Powered by SMF 1.1.7" 및 "Powered by SMF 1.1.10" 요청을 받습니다. 모두). 나는 우리가하고있는 것이 분명하다고 생각합니다. 결국 SMF 엔진에서 포럼을 검색하기위한 특정 쿼리 데이터베이스를 갖게 될 것입니다 (예시로 선택되었으며 나머지 엔진과 유사함).
다음과 같이 보일 것입니다.

SMF 1.1.2 제공

SMF 1.1.3 제공

SMF 1.1 RC2로 구동

SMF 1.1.4 제공

SMF 1.1.8 제공

SMF 1.1.7 제공

"2006-2008, Simple Machines LLC"

그게 다가 아닙니다. 엔진 버전을 수집할 때 일부 SMF 포럼의 바닥글에서 돌출부 "2001-2006, Lewis Media"를 찾습니다. 우리는 이 요청을 확인하고 또한 우리를 완전히 만족시킵니다. 유사한 쿼리 "2001-2005, Lewis Media"를 찾습니다. 바닥글을 더 실행하면 "SMF 1.1로 이식된 A.M.A의 SMFone 디자인" 요청을 찾습니다. 그것을 확인하십시오 - 훌륭합니다. 등등. 30분의 작업과 엔진에 대한 훌륭한 쿼리 데이터베이스가 있으며 이러한 쿼리에 대해 Google은 연산자를 사용하는 경우보다 훨씬 덜 자주 금지합니다. 그리고 동시에 "index.php?topic="과 같은 쿼리를 사용하는 것보다 데이터베이스가 훨씬 더 깨끗해집니다. 여기에서 Google은 우리가 필요한 포럼뿐만 아니라 가능한 많은 남은 리소스도 제공하기 때문입니다. 포럼 주제에 대한 링크를 남겨주세요. 당신은 논쟁할 수 있습니다. 그들은 그것이 무엇이 잘못되었습니까? 다른 사람들이 링크를 남겼으므로 우리가 할 수 있습니다. 하지만! 링크는 Hrumer뿐만 아니라 다른 프로그램에서도 남길 수 있습니다. 또한 특정 리소스에 주석을 남기기 위해 특수하게 날카롭게 할 수 있으며, 소위 고도로 전문화된 소프트웨어라고 하며 이러한 링크를 손으로 남길 수도 있습니다. 다시 말하지만, 우리에게 중요한 것은 쓰레기의 양이 아니라 품질, 어쨌든 올바른 요청으로 기반을 수집할 것입니다. 플러스 이 방법또한 실제로 구성할 필요가 없다는 사실에서 체 필터 , Google은 실제로 쓰레기를 제공하지 않기 때문에 간단히 끌 수 있습니다.


초기 단계에서 Chrefer를 올바르게 사용하는 방법을 배우는 것이 매우 중요하다고 생각합니다. 이것을 배우면 상황이 어떻게 변하든 항상 Chrumer의 용도를 찾을 수 있기 때문입니다. 보호가 더욱 복잡해지고 있으며 일부 유형의 엔진에 대한 보호가 강화되고 Khrumer가 현재 이에 대처할 수 없다면 이러한 링크를 수집하고 Khrumer와 함께 작업하는 데 리소스를 낭비할 필요가 없습니다. 결과를 제공하는 것에 집중하는 것이 좋습니다. 그리고 동시에 Botmaster Labs 팀이 Chrumer에게 새로운 것을 가르쳤다면 환자가 아직 따뜻할 때 신속하게 새 환자를 해부하고 Chrumer의 기지를 준비할 수 있습니다. 시간은 돈입니다. 기반을 구입할 때 리소스는 더 이상 관련이 없을 수 있습니다. 누군가에 의해 수집. 또한 자신을 위한 올바른 베이스 컬렉션은 Khrumer의 "흰색" 사용을 크게 확장합니다. 그리고 이것은 우리가 좋든 싫든 모든 것이 움직이는 곳이지만 희게하거나 회색으로 변하는 과정이 진행되고 있습니다. 과거로 갈 수 있는 모든 것에 대한 블랙 시트.
Hrefer와 함께 작업하는 다른 모든 이미 기술적인 측면은 도움말에서 볼 수 있으며 그것에 대해 설명하는 것은 의미가 없습니다. 모든 목표-포인트-초는 각 자동차에 대해 경험적으로 개별적으로 설정됩니다.
보너스로 중국 검색 엔진 Baidu를 구문 분석하기 위한 템플릿을 여기에 게시할 것입니다. 저번에 이에 대해 질문을 받았기 때문에 중간에 해봤습니다. 말장난에 죄송합니다. :)


호스트 이름=http://www.baidu.com
쿼리=s?wd=
LinksMask=
총 페이지 수=100
다음 페이지=

다음페이지2=

보안문자URL=
보안문자 이미지=
보안문자 필드=


파싱 ​​테스트를 해봤더니 금지가 없었고, Khrefer가 자원을 빨리 모았고, 파싱에 대한 모든 요청이 구글과 비슷했지만, 중국 자원의 바다가 있었고, PR도 높았고, 게다가 유럽 많은 곳에 발을 들여놓지 않았다. 중국어 요청으로 구문 분석하는 것이 좋습니다. Google 번역이 이를 도와줄 것입니다. 러시아어로 키워드 목록을 입력하고 중국어로 번역해 드립니다. 의 진실 단어"Chrefer의 단어는 중국어로 합칠 수 없으며 다시 코딩해야 합니다.
중국어 대신:

伟哥 - 비아그라

吉他 - 기타

其他 - 휴식

保险公司 - 보험

다음 코드를 Words 파일에 넣어 대체합니다.

%E4%BC%9F%E5%93%A5

%E5%90%89%E4%BB%96

%E5%85%B6%E4%BB%96

%E4%BF%9D%E9%99%A9%E5%85%AC%E5%8F%B8

보험 사이트를 홍보하는 경우 요청에 따라 찾은 중국 포럼도 주제별(!) 프로필에 링크를 게시하여 " 포럼 SMF" 保险公司아주 좋을 것입니다.
결론적으로, 나는 Khrefers가 나쁘다거나 파싱하지 않는다고 불평하는 사람들을 결코 이해하지 못했다고 말하고 싶습니다. 나는 항상 이것을 말하고 싶었습니다. 당신은 단지 요리하는 법을 모릅니다. 단일 파서가 리퍼러보다 나은 것은 아니며 정확하기만 하면 됩니다. Hrefer는 자동차입니다. 훌륭하고 견고하며 독일제이지만 사람이 제어하고 모든 것은 그것이 얼마나 현명하게 운전되는지에 달려 있습니다. 자동차를 강제로 좌우로 움직일 수는 없습니다.
별도의 주제는 기지 청소입니다. 저는 3년 전에 이전 대회를 위해 한 번 했습니다. 모든 것이 여전히 관련성이 있지만 이제 200 OK 확인을 거부할 수 있습니다. 이 프로세스가 정말 마음에 들지 않았습니다. 오류가 매우 커서 불필요한 많은 부분이 걸러졌습니다. 이제 이것은 Chrumer의 작업 중에 거의 자동으로 수행될 수 있지만 이 프로세스는 "200 OK"를 확인하는 것과 완전히 유사하지는 않습니다. 일반적으로 요점은 얼마 전 Khrumer에 놀라운 기회가 나타났습니다. 프로젝트 실행 당시 리소스에서 정보를 훔쳤습니다. 이렇게 생겼습니다. 작업 중에 처리될 템플릿을 입력하고 템플릿에 따라 수집된 정보는 Logs 폴더의 xgrabbed.txt 파일에 입력됩니다. 이 기능은 무엇이든 사용할 수 있습니다. 일주일에 한 번 이 기능을 사용하여 "만료된" 작업 데이터베이스에서 링크를 제거합니다. 이러한 리소스에서 기반을 정리하기 위해 포럼이 매일 사라지는 것은 비밀이 아니며 "Autograbbing" 도구가 이 경우에 도움이 될 것입니다.
결국 http://www.laptopace.com/index.php와 같이 자주 입력하는 것을 인정해야 합니다. 이 도메인은 이미 goudyadya와 같은 도메인이지만 거기에는 포럼이 없습니다. 따라서이 슬래그를 바닥에서 던지기 위해 우리는 강탈 할 것입니다. :) 페이지의 소스 코드를 열면 다음 항목이 표시됩니다.

랩탑에이스.com
잡기 위해 우리는 그것을 다음과 같이 변환합니다.
[...]

이제 goudaddi의 모든 "dead"는 이름으로 알려질 것입니다.
다음은 다른 "만료된" 도메인에서 데이터베이스를 정리하려는 경우 "Autograbbing" 도구에 대한 작은 선택입니다.


[...]

[...]
[...]
[...]

[...]
이 도메인은 판매 중일 수 있습니다. [...]이 도메인 구매

[...]<body bgcolor="#ffffff" text="#000000"> </span><br>목록이 완전하지는 않지만 수백만 달러의 쓰레기 기지를 여러 번 운전하지 않는 데 도움이 될 것이라고 생각합니다. 템플릿을 만들고 만료된 링크를 열고 템플릿 마스크를 만드는 것은 어렵지 않습니다. <br>동일한 자동 가져오기를 사용하여 기존 데이터베이스를 살펴보고 리소스별로 정렬하고 엔진별로 분류할 수도 있습니다. 엔진별로 데이터베이스를 정렬하면 특히 Hrumer의 모든 기능과 설정을 최대한 활용할 수 있습니다. 학습 과정. 게다가 Autograbbing의 도움으로 Hrefer가 아닌 다양한 파일 호스팅 서비스에서 다운로드하여 수집하려는 경우 데이터베이스에서 가비지를 제거할 수 있습니다. 이렇게 하려면 포럼을 선택하기 위한 마스크를 만든 다음 데이터베이스에서 마스크에 의해 캡처된 것만 수집하거나 그 반대로 포럼이 아닌 마스크를 만든 다음 캡처된 것을 삭제해야 합니다. 첫 번째 옵션은 무엇을 찾아야 하는지 정확히 알고 있기 때문에 더 논리적이고 더 안정적입니다. <br>직장에서 행운을 빕니다. <br>파이시. 협소하게 초점을 맞춘 영상을 만들었습니다. (저도 고생했고, 처음 해봤어요 :)) 집에서 Hrefer를 실행했지만 순 속도는 그리 좋지 않습니다. 여기 테스트용으로만 사본이 있으니 그렇게 하세요. 작업 속도에 대해 나를 비난하지 마십시오. :) <br><p><span class="BlWV-EuxoOk"></span></p> <h4>16개의 댓글:</h4> <p>재카 댓글...</p><p>어떤 프로그램으로 키워드를 선택하셨습니까?</p> Serge Glazko 코멘트... <p>주제별 리소스를 수집해야 하는 경우 Words with pen과 Adwords를 통해 단어를 선택합니다. 그러나 많은 주제에서 단어가 이미 선택되었습니다. 여기에서는 일부 단어만 추가하거나 삭제할 수 있지만 자동으로 할 수는 없지만 모든 단어를 살펴봅니다.</p> <p>기본 스크립트 코드로 바로 시작하겠습니다.</p> <p>#!/usr/bin/perl</p><p># which-forum.pl 스크립트 <br><span># (c) 2010 Alexandr A Alexeev, http://website/</p><p>엄격한 사용;</p><p># 주석 처리된 줄 - 엄격함을 위해</span><br><span># 작업이 엔진 통계를 수집하는 것이라면 그대로 두십시오.</span><br><span># 포럼 목록을 만드는 경우 - 주석 해제</p><p>내 $ 데이터 ; <br>$data .= $_ 동안(<> ) ; </p><p># 바닥글 링크 없이 Powered by phpBB가 몇 개인지 확인</span><br>인쇄 "phpbb <span>\N"</span><br>if($데이터 =~ <span>/<a[^>]+href="[^"]*http:\/\/(?:www\.)?phpbb\.com\/?"[^>]*>phpBB/i</span>또는 <br><span># $data =~ /viewforum\.php\?[^""]*f=\d+/i 또는</span><br>$data =~ /phpBB\-SEO/i 또는 <br>$데이터 =~ <span>/<link rel="copyright" href="(?:http:\/\/)?phpBB\.com"/i </span>) ; <br>인쇄 "ipb <span>\N"</span><br>if($데이터 =~ <span>/<a[^>]+href="[^"]*http:\/\/(?:www\.)?invision(?:board|power)\.com\/?[^"]*"[^>]*> [^<]*IP\.Board/i </span>또는 <br>$데이터 =~ <span>/<a[^>]+href="[^"]*http:\/\/(?:www\.)?invisionboard\.com\/?"[^>]*>Invision 파워 보드/i</span>또는 <br>$데이터 =~ <span>/<div id=[""]{0,1}ipbwrapper[""]{0,1}>/나</span>또는 <br>$데이터 =~ <span>/index\.php\?[^""]*showforum=\d+/i</span>) ; <br>인쇄 "vbulletin <span>\N"</span><br>if($데이터 =~ <span>/제공:?[^<]+vBulletin[^<]+(?:Version)?/i </span>또는 <br>$데이터 =~ <span>/<meta name="generator" content="vBulletin/i </span>또는 <br>$데이터 =~ <span>/forumdisplay\.php\?[^""]*f=\d+/i</span>) ; <br>인쇄 "smf <span>\N"</span><br>if($데이터 =~ <span>/<a[^>]+href="[^"]*http:\/\/(?:www\.)?simplemachines\.org\/?"[^>]*>SMF/i 제공</span>또는 <br>$데이터 =~ <span>/index\.php\?[^""]*board=\d+\.0/i</span>) ; <br>인쇄 "펀비 <span>\N"</span><br>if($데이터 =~ <span>/<a[^>]+href="[^"]*http:\/\/(?:(?:www\.)?punbb\.org|punbb\.informer\.com)\/?"[^>]*> 펀비비/아이</span>) ; #또는 <br><span># $data =~ /viewforum\.php\?[^""]*id=\d+/i);</span><br>인쇄 "플럭스 <span>\N"</span><br><span># if($data =~ /viewtopic\.php\?id=\d+/i 또는</span><br>if ( $ 데이터 = ~ <span>/<a[^>]+href="http:\/\/(?:www\.)fluxbb\.org\/?"[^>]*>FluxBB/i</span>) ; <br>인쇄 "exbb <span>\N"</span><br>if($데이터 =~ <span>/<a[^>]+href="[^"]*http:\/\/(?:www\.)?exbb\.org\/?"[^>]*>ExBB/i</span>) ; # 또는 <br><span># $data =~ /forums\.php\?[^""]*forum=\d+/i);</span><br>인쇄 "야브 <span>\N"</span><br>if($데이터 =~ <span>/<a[^>]+href="[^"]*http:\/\/(?:www\.)?yabbforum\.com\/?"[^>]*>YaBB/i</span>또는 <br>$data =~ /YaBB\.pl\?[^""]*num=\d+/i ) ; <br>인쇄 "들포럼 <span>\N"</span><br>if($데이터 =~ <span>/\(DLE 포럼 제공\)<\/title>/나</span>또는 <br>$데이터 =~ <span>/<a[^>]+href="[^"]+(?:http:\/\/(?:www\.)?dle\-files\.ru|act=copyright)[^"]*">DLE 포럼<\/a>/나</span>) ; <br>인쇄 "아이콘보드 <span>\N"</span><br>if($데이터 =~ <span>/<a[^>]+href="[^"]*http:\/\/(?:www\.)?ikonboard\.com\/?[^"]*"[^>]*>Ikonboard/i</span>또는 <br>$데이터 =~ <span>/<meta name="GENERATOR" content="Ikonboard/i </span>또는 <br>$data =~ /iconboard\.cgi/i ) ; <br>인쇄 "bbpress <span>\N"</span><br>if($데이터 =~ <span>/<meta name="generator" content="bbPress/i </span>) ; # 또는 <br><span># $data =~ /topic\.php\?id=\d+/i 또는</span><br><span># $data =~ /forum\.php\?id=\d+/i);</span><br>인쇄 "플래시bb <span>\N"</span><br><span># if($data =~ /forums\.php\?fid=\d+/i 또는</span><br><span># $data =~ /topic\.php\?fid=\d+/i 또는</span><br>if($데이터 =~ <span>/<a[^>]+href="http:\/\/(?:www\.)?flashbb\.net\/?"[^>]*>FlashBB/i</span>) ; <br>인쇄 "stokesit <span>\N"</span><br><span># if($data =~ /forum\.php\?f=\d+/i 또는</span><br>if($데이터 =~ <span>/<a[^>]+href="http:\/\/(?:www\.)?stokesit\.com\.au\/?"[^>]*>[^\/]*스토크스 IT/i</span>) ; <br>인쇄 "연단 <span>\N"</span><br><span># if($data =~ /topic\.php\?t=\d+/i 또는</span><br>if($데이터 =~ <span>/<a[^>]+href=[""]?http:\/\/(?:www\.)?sopebox\.com\/?[""]?[^>]*>연단/i</span>) ; <br>인쇄 "usebb <span>\N"</span><br><span># if($data =~ /forum\.php\?id=\d+/i 또는</span><br>if($데이터 =~ <span>/<a[^>]+href="http:\/\/(?:www\.)?usebb\.net\/?"[^>]*>UseBB/i</span>) ; <br>인쇄 "포럼 <span>\N"</span><br><span># if($data =~ /index\.php\?fid=\d+/i 또는</span><br>if($데이터 =~ <span>/<a[^>]+href="http:\/\/(?:www\.)?wr\-script\.ru\/?"[^>]*>WR\-Forum/i</span>) ; <br>인쇄 "yetanotherforumnet <span>\N"</span><br>if ($data =~ /Yet Another Forum\.net/i 또는 <br>$데이터 =~ <span>/default\.aspx\?g=게시물&t=\d+/i</span>) ; </p> <p>게시물에 언급된 이 스크립트와 다른 스크립트는 이 아카이브에서 찾을 수 있습니다.</p> <p>스크립트 <i>which-forum.pl</i>포럼 엔진 서명이 있는지 HTML 페이지 코드를 검사합니다. WordPress와 Joomla를 정의할 때 비슷한 기술을 사용했지만 몇 가지 차이점이 있습니다. 첫째, 스크립트 자체는 페이지 코드를 로드하지 않고 stdin 또는 인수로 전달된 파일에서 페이지 코드를 읽습니다. 이를 통해 예를 들어 wget을 사용하여 페이지를 한 번 다운로드한 다음 여러 파서가 있는 경우 여러 파서를 통해 실행할 수 있습니다. 둘째, 이 스크립트에서 서명의 존재는 엔진의 100% 표시입니다. 지난 번 시그니처의 존재는 해당 엔진에만 가중치를 부여하고 가장 높은 가중치를 가진 엔진을 "승리"했습니다. 나는 이 경우 그러한 접근 방식이 코드를 불필요하게 복잡하게 만들 것이라고 결정했습니다.</p> <p>스크립트를 테스트하기 위해 약간의 조사를 했습니다. 수천 개의 포럼 목록을 작성하고 스크립트를 통해 각 포럼을 실행하여 프로그램 활성화 비율과 다양한 엔진의 인기도를 결정했습니다.</p> <p>포럼 목록을 얻으려면 Google 파서를 사용했습니다. <a href="https://bar812.ru/ko/poiskovye-sistemy-rossii-i-lidiruyushchie-poiskoviki-interneta-kakaya.html">검색 엔진</a>다음과 같은 요청을 보냅니다.</p> <p>사이트:forum.*.ru <br>사이트:talk.*.ru <br>사이트:board.*.ru <br>사이트:smf.*.ru <br>사이트:phpbb.*.ru <br> ....</p> <p>등등. 파일에서 전체 쿼리 생성기 코드를 찾을 수 있습니다. <i>gen-forumsearch-urls.pl</i>. .ru 영역 외에도 .su .ua .kz 및 .by도 사용되었습니다. 워드프레스나 줌라 사이트는 URL에 이런 서명이 없기 때문에 지난 번에는 이러한 연구를 수행하기 어려웠습니다. cmsmagazine.ru/catalogue/와 같은 카탈로그는 충분한 샘플 크기를 제공하지 않습니다. Drupal의 600개 사이트는 무엇입니까?</p> <p>나는 실험 결과가 나를 실망시켰다는 것을 인정해야 한다. 조사된 12,590개 사이트 중 7,083개 엔진만 성공적으로 식별되었습니다. 즉, 56%의 경우에만 해당합니다. 어쩌면 내가 일부 엔진을 고려하지 않았습니까? Bitrix는 포럼의 절반에 섰습니까? 아니면 서명을 찾는 데 더 많은 시간을 보냈어야 합니까? 일반적으로 여기에 더 많은 연구가 필요합니다.</p> <p>56%의 성공적으로 식별된 엔진 중 예상대로 IPB(31%), phpBB(26.6%) 및 vBulletin(26.5%)이 가장 인기가 있었습니다.</p> <p>SMF(5.8%)와 DLEForum(5.3%)이 그 뒤를 이었습니다. 내가 가장 좋아하는 punBB는 6위(1.64%)에 불과했습니다. 이 수치를 강력하게 신뢰하는 것은 권장하지 않지만(Runet의 모든 세 번째 포럼은 IPB에서 작동한다고 말합니다), 물론 특정 결론을 내릴 수 있습니다.</p> <p>예를 들어, 포럼 엔진에 사이트를 만들고 포럼을 수정할 계획이라면 매주 한 번 자동으로 자금이 인출되는 각 메시지에 대해 사용자에게 0.01$를 지불하는 경우 가장 인기 있는 세 가지 엔진 중 하나를 선택해야 합니다. . 포럼이 유명할수록 포럼에 정통한 프로그래머를 찾을 가능성이 높아집니다.</p> <p>엔진에 큰 변화가 예상되지 않으면 SMF 또는 punBB와 같이 덜 인기 있는 엔진을 선택하는 것이 합리적일 수 있습니다. 이렇게 하면 숫자가 줄어듭니다 <a href="https://bar812.ru/ko/hakerskaya-ataka-tp-link-kak-proverit-router-na-nalichie-virusov.html">해커 공격</a>포럼에 자동으로 전송된 스팸의 양.</p> <p>포럼 검색/정의를 위한 스크립트는 둘 이상의 포럼을 찾을 수도 있습니다. <a href="https://bar812.ru/ko/kak-primenit-ekshn-k-gruppe-fotografii-paketnaya-obrabotka-fotografii-v.html">실용</a>. 개인적으로 가장 먼저 떠오른 것은 식별된 포럼을 TIC로 분류하고 처음 100개의 사이트 중 하나에 대한 링크가 있는 게시물을 배치하는 것이었습니다. 그러나 100개의 포럼 dofollow 링크는 TCI에 어떤 식으로든 영향을 미치지 않았으므로(2개의 업데이트가 통과됨) 전환에 관심이 없는 한 여기에서 시간을 낭비하지 않는 것이 좋습니다.</p> <p>스크립트의 명명된 사용이 유일한 것과는 거리가 멀다는 것이 분명합니다. 나는 당신이 그들을 어떻게 사용할 수 있는지 쉽게 알 수 있다고 생각합니다.</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy loading=lazy>");</script> </div> </div> </div> <div class="td-pb-span4 td-main-sidebar" role="complementary"> <div class="td-ss-main-sidebar"> </div> </div> </div> </div> </article> <script type="text/javascript"> try { var sbmt = document.getElementById('submit'), npt = document.createElement('input'), d = new Date(), __ksinit = function() { sbmt.parentNode.insertBefore(npt, sbmt); }; npt.value = d.getUTCDate() + '' + (d.getUTCMonth() + 1) + 'uniq9065'; npt.name = 'ksbn_code'; npt.type = 'hidden'; sbmt.onmousedown = __ksinit; sbmt.onkeypress = __ksinit; } catch (e) {} </script> <div class="td-sub-footer-container td-container-wrap "> <div class="td-container "> <div class="td-pb-row "> <div class="td-pb-span td-sub-footer-menu "></div> <div class="td-pb-span td-sub-footer-copy ">2022 bar812.ru. 단지에 대해. 프로그램들. 철. 인터넷. 창</div> </div> </div> </div> </div> <script data-cfasync="false" type="text/javascript"> if (window.addthis_product === undefined) { window.addthis_product = "wpwt"; } if (window.wp_product_version === undefined) { window.wp_product_version = "wpwt-3.1.2"; } if (window.wp_blog_version === undefined) { window.wp_blog_version = "4.9.1"; } if (window.addthis_share === undefined) { window.addthis_share = {}; } if (window.addthis_config === undefined) { window.addthis_config = { "data_track_clickback": true, "ui_language": "ru", "ui_atversion": "300" }; } if (window.addthis_plugin_info === undefined) { window.addthis_plugin_info = { "info_status": "enabled", "cms_name": "WordPress", "plugin_name": "Website Tools by AddThis", "plugin_version": "3.1.2", "plugin_mode": "AddThis", "anonymous_profile_id": "wp-f2d21fd70bfc0c32605b4e5e1e4ff912", "page_info": { "template": "posts", "post_type": "" }, "sharing_enabled_on_post_via_metabox": false }; } (function() { var first_load_interval_id = setInterval(function() { if (typeof window.addthis !== 'undefined') { window.clearInterval(first_load_interval_id); if (typeof window.addthis_layers !== 'undefined' && Object.getOwnPropertyNames(window.addthis_layers).length > 0) { window.addthis.layers(window.addthis_layers); } if (Array.isArray(window.addthis_layers_tools)) { for (i = 0; i < window.addthis_layers_tools.length; i++) { window.addthis.layers(window.addthis_layers_tools[i]); } } } }, 1000) }()); </script> <script type='text/javascript'> var tocplus = { "smooth_scroll": "1", "visibility_show": "\u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c", "visibility_hide": "\u0441\u043a\u0440\u044b\u0442\u044c", "width": "Auto" }; </script> <script type='text/javascript' src='https://bar812.ru/wp-content/plugins/disqus-comment-system/media/js/disqus.js?ver=bbebb9a04042e1d7d3625bab0b5e9e4f'></script> <script> (function() { var html_jquery_obj = jQuery('html'); if (html_jquery_obj.length && (html_jquery_obj.is('.ie8') || html_jquery_obj.is('.ie9'))) { var path = '/wp-content/themes/Newspaper/style.css'; jQuery.get(path, function(data) { var str_split_separator = '#td_css_split_separator'; var arr_splits = data.split(str_split_separator); var arr_length = arr_splits.length; if (arr_length > 1) { var dir_path = '/wp-content/themes/Newspaper'; var splited_css = ''; for (var i = 0; i < arr_length; i++) { if (i > 0) { arr_splits[i] = str_split_separator + ' ' + arr_splits[i]; } //jQuery('head').append('<style>' + arr_splits[i] + '</style>'); var formated_str = arr_splits[i].replace(/\surl\(\'(?!data\:)/gi, function regex_function(str) { return ' url(\'' + dir_path + '/' + str.replace(/url\(\'/gi, '').replace(/^\s+|\s+$/gm, ''); }); splited_css += "<style>" + formated_str + "</style>"; } var td_theme_css = jQuery('link#td-theme-css'); if (td_theme_css.length) { td_theme_css.after(splited_css); } } }); } })(); </script> <div id="tdw-css-writer" style="display: none" class="tdw-drag-dialog tdc-window-sidebar"> <header> <a title="편집자" class="tdw-tab tdc-tab-active" href="#" data-tab-content="tdw-tab-editor">라이브 CSS로 편집</a> <div class="tdw-less-info" title="CSS 및 LESS에서 오류가 감지되면 빨간색으로 표시됩니다."></div> </header> <div class="tdw-content"> <div class="tdw-tabs-content tdw-tab-editor tdc-tab-content-active"> <script> (function(jQuery, undefined) { jQuery(window).ready(function() { if ('undefined' !== typeof tdcAdminIFrameUI) { var $liveIframe = tdcAdminIFrameUI.getLiveIframe(); if ($liveIframe.length) { $liveIframe.load(function() { $liveIframe.contents().find('body').append('<textarea class="tdw-css-writer-editor" style="display: none"></textarea>'); }); } } }); })(jQuery); </script> <textarea class="tdw-css-writer-editor td_live_css_uid_1_5a5dc1e76f1d6"></textarea> <div id="td_live_css_uid_1_5a5dc1e76f1d6" class="td-code-editor"></div> <script> jQuery(window).load(function() { if ('undefined' !== typeof tdLiveCssInject) { tdLiveCssInject.init(); var editor_textarea = jQuery('.td_live_css_uid_1_5a5dc1e76f1d6'); var languageTools = ace.require("ace/ext/language_tools"); var tdcCompleter = { getCompletions: function(editor, session, pos, prefix, callback) { if (prefix.length === 0) { callback(null, []); return } if ('undefined' !== typeof tdcAdminIFrameUI) { var data = { error: undefined, getShortcode: '' }; tdcIFrameData.getShortcodeFromData(data); if (!_.isUndefined(data.error)) { tdcDebug.log(data.error); } if (!_.isUndefined(data.getShortcode)) { var regex = /el_class=\"([A-Za-z0-9_-]*\s*)+\"/g, results = data.getShortcode.match(regex); var elClasses = {}; for (var i = 0; i < results.length; i++) { var currentClasses = results[i] .replace('el_class="', '') .replace('"', '') .split(' '); for (var j = 0; j < currentClasses.length; j++) { if (_.isUndefined(elClasses[currentClasses[j]])) { elClasses[currentClasses[j]] = ''; } } } var arrElClasses = []; for (var prop in elClasses) { arrElClasses.push(prop); } callback(null, arrElClasses.map(function(item) { return { name: item, value: item, meta: 'in_page' } })); } } } }; languageTools.addCompleter(tdcCompleter); window.editor = ace.edit("td_live_css_uid_1_5a5dc1e76f1d6"); // 'change' handler is written as function because it's called by tdc_on_add_css_live_components (of wp_footer hook) // We did it to reattach the existing compiled css to the new content received from server. window.editorChangeHandler = function() { //tdwState.lessWasEdited = true; window.onbeforeunload = function() { if (tdwState.lessWasEdited) { return "You have attempted to leave this page. Are you sure?"; } return false; }; var editorValue = editor.getSession().getValue(); editor_textarea.val(editorValue); if ('undefined' !== typeof tdcAdminIFrameUI) { tdcAdminIFrameUI.getLiveIframe().contents().find('.tdw-css-writer-editor:first').val(editorValue); // Mark the content as modified // This is important for showing info when composer closes tdcMain.setContentModified(); } tdLiveCssInject.less(); }; editor.getSession().setValue(editor_textarea.val()); editor.getSession().on('change', editorChangeHandler); editor.setTheme("ace/theme/textmate"); editor.setShowPrintMargin(false); editor.getSession().setMode("ace/mode/less"); editor.setOptions({ enableBasicAutocompletion: true, enableSnippets: true, enableLiveAutocompletion: false }); } }); </script> </div> </div> <footer> <a href="#" class="tdw-save-css">구하다</a> <div class="tdw-more-info-text">CSS OR LESS를 작성하고 저장을 누르십시오. CTRL + SPACE 자동 완성.</div> <div class="tdw-resize"></div> </footer> </div> <script type="text/javascript" defer src="https://bar812.ru/wp-content/cache/autoptimize/js/autoptimize_d85127d8732b44d62e81e0455b3d3cb7.js"></script> </body> </html>