사용자 로그인 URL (일명 로그인 양식을 숨기는 방법)은 무엇입니까?


10

방문자가 내 웹 사이트에 등록하는 것을 허용하지 않습니다. 그러나 테스트 목적으로 등록 된 단일 사용자가 필요하다는 것을 알게되었습니다. 예를 들어 액세스 권한이 제한된 기사를 게시하여 테스트 사용자가 일반인에게 "더러운 세탁물을 송풍하지 않고"기사가 사이트에서 어떻게 보이는지 확인할 수 있습니다 (확인, 실제로 방문한 1 / 일 모두). .

현재 내 문제는 사용자 로그인 양식을 게시 / 게시 취소해야하기 때문에 웹 사이트를 손상시키는 것입니다. 현재 로그인 양식을 하위 카테고리에 숨겨서이 문제를 우회하여 캐주얼 방문자에게는 즉시 표시되지 않습니다. 테스트 사용자가 공개 액세스 권한이있는 게스트에게 표시되는 내용을 변경하지 않고 제한된 것으로 표시된 콘텐츠를 볼 수있는 대체 방법 (예 : 사용자 지정 URL)을 만들 수 있습니까?

답변:


8

게시되지 않은 메뉴를 만들고 거기에 사용자 로그인 페이지에 대한 링크를 넣고 원하는 이름을 지정할 수 있습니다. 사용자 관리자 옵션에서 등록 허용 기능을 끄면 좋을 것입니다.

그런 다음 고객에게 URL을 제공하십시오.

단계는 다음과 같습니다.

  1. 새 메뉴를 만들고 이름을 숨김으로 지정하십시오.
  2. 새 메뉴의 모듈을 게시하지 마십시오
  3. 새 메뉴 항목을 추가하고 사용자 관리자 및 로그인 양식을 선택하십시오.
  4. 메뉴 항목 Login 또는 무언가에 제목을 지정하면 그 이름을 알 수 있지만 별명을 다른 사람이 추측 할 수없는 것으로 변경하십시오.
  5. yoursite.com/aliasname으로 이동하여 양식을 테스트하십시오.

10

Brian Peat의 답변에 대한 확장으로 :

당신이 URL로 이동하면

domain.com/index.php?option=com_users&view=login

메뉴 항목 세트 또는 모든 종류의 게시 / 게시 취소 문제없이 로그인 할 수 있습니다. URL 구조를 알고 있다면 주변에서 길을 등록 / 로그인 할 수 있다는 것을 알기 때문에 Joomla에서 다소 문제라고 할 수 있습니다. 이를 방지하는 규칙이 있지만 일반적으로 기본적으로 경로를 사용하여 필요한 곳으로 이동할 수 있습니다.

http://www.joomla.org/index.php?option=com_users&view=login

여기에는 직장에 있으며, 로그인에 직접 액세스 할 수없는 Joomla 기본 사이트조차도 그렇게 액세스 할 수 있습니다.

내 요점은, "그냥"등록 된 사용자라면 Joomla의 구조를 아는 사람이 들어갈 수 있다면 올바른 ACL을 사용해야합니다. 또한 Brian이 말한 것처럼 등록 허용이 해제되어 있는지 확인하십시오.


/index.php?option=com_users&view=logout과 비슷한 URL이 있습니까 (직관적으로 생각했지만 올바르지 않은 것으로 나타났습니다)?
bobthechemist

자동 로그 아웃 하시겠습니까? 좀 이상합니다. joomla에서 로그 아웃하려면 일부 포스트 데이터가 필요하므로 양식 / 버튼이 필요합니다. 이 링크는 기본적으로 버튼으로 연결됩니다.
Jordan Ramstad

사람들이 그 페이지에 들어가는 것에 대해 정말로 걱정한다면, 사용자가 URL의 일부로 토큰을 사용하도록 강제하는 멋진 플러그인을 설치할 수 있습니다 (관리자를위한 토큰이 있다는 것을 알고 있습니다. end ....하지만 다음을 설치할 수도 있습니다 : extensions.joomla.org/extensions/access-a-security/… 사용자가 10 번 로그인을 시도하면 IP를 차단합니다. 또한 사용자에게 알려줍니다. 사이트가 얼마나 자주 공격을 받고 있는지 눈을 뜨게됩니다. 시도의 100 %가 모두 "admin"을 사용자 이름으로 사용하는 것으로 나타났습니다.
Brian Peat

메뉴 항목이 없어도 로그인 / 등록에 여전히 액세스 할 수 있다고 말하고 싶었습니다. 따라서 메뉴 항목을 처리하지 않고 로그인해야 할 경우 가능하지만 누구나 그렇게 할 수 있습니다. 등록이 잠기지 않은 경우 누구나 계정을 작성하고 "비밀"페이지에 액세스 할 수 있습니다. ACL이 없으면이를 막을 수 있습니다. 이는 추가 ACL 그룹을 작성하고 해당 그룹에서도 액세스 할 수있는 사용자를 작성하여 수행 할 수 있습니다. 해당 페이지에는 해당 그룹도 필요합니다.
Jordan Ramstad

음, 아직 로그인하지 않은 경우 ACL의 장점은 무엇입니까? 특별한 플러그인 없이는 공개 로그인 페이지를 숨길 수 없다는 것을 이해합니다. 무차별 대입 공격을 제외하고는 로그인이 없으면 멀리 갈 수 없습니다. 나는 이것을 많이 혼란스럽게 사용하는 것을 보지 못했다.
Brian Peat

4

프런트 엔드 로그인 양식의 레이아웃을 재정 의하여이를 수행 할 수 있어야합니다. 레이아웃 파일 상단에 PHP 코드를 추가하십시오. 이 추가 된 코드는 URL에서 사용자 정의 매개 변수와 특정 값을 확인합니다. 누군가 URL을 통해 로그인 페이지에 액세스하려고하지만 사용자 정의 매개 변수 및 특정 값 (예 : abc = xyz )을 포함하지 않으면 코드는 "return;"을 발행합니다. 양식의 레이아웃이 표시되지 않도록합니다.

우선 적용 레이아웃 파일에이 코드를 사용하면 URL을 알고있는 사용자 (이 사용자 정의 매개 변수 및 허용 가능한 값 포함) 만 해당 로그인 양식을 사용할 수 있습니다.

예를 들어 , 비밀 URL은

mydomain.com/?option=com_users&view=login&abc=xyz

그런 다음 로그인 양식의 재정의 레이아웃 파일 상단 근처에이 코드를 추가하십시오.

if(JFactory::getApplication()->input->get('abc')!='xyz'){
    return;
}

좋은 생각! 이것은보기를 비활성화하는 매우 쉬운 솔루션입니다. 필요한 경우 모듈로 확장 할 수도 있습니다 (모듈에 액세스 할 직접 URL이 없지만).
Jordan Ramstad 2016 년

3

로그인 양식이 없어도 관리하는 웹 사이트를 편집하기 위해 프런트 엔드 로그인을 원하기 때문에 종종 비슷한 문제에 직면했습니다. 브라우저 툴바에 추가 한 작은 북마크 를 만들었습니다 . 이것은 북마크릿이 나 (또는 ​​코드를 복사 한 사람)에게만 제공되므로 매우 "로컬"솔루션이지만 모든 Joomla 사이트에서 작동하며 시간을 절약 할 수 있습니다. 링크와 로그인 양식을 클릭하면됩니다. 표시됩니다 (물론 Joomla 사이트에있는 경우 ...).

 javascript:void((function(){var loc = location.href; loc.indexOf("?") == -1 ? (location.href = loc+"?option=com_users&view=login") : (location.href = loc+"&option=com_users&view=login");})());
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.