cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Announcements
 
ISE 2.3 Patch 7 has been posted. This will be the last patch for the ISE 2.3 release!
Choose one of the topics below to view our ISE Resources to help you on your journey with ISE

This community is for technical, feature, configuration and deployment questions.
For production deployment issues, please contact the TAC! We will not comment or assist with your TAC case in these forums.
Please see How to Ask the Community for Help for other best practices.

1859
Views
10
Helpful
3
Replies
Highlighted
Beginner

Cisco ISE Guest Portal Human Verification

Hi All,

I have deployment in one of my client with Cisco ISE Self Register Portal with sponsor approval.

Therefore the guest are expected to register them-self prior login.

Then after that sponsor must approved the guest account before the guest can use it.

My question is, is there any method to prevent some guest to using a bot to create an account.

Imagine that a bot can create 100 account per minute and there will be a spam email in sponsor account because of approval notification.

Anyone have a case like this? Maybe integrate ISE portal with captcha with custom portal or any other method?

Thanks for your advises and insights.

Regards,

Kevin

1 ACCEPTED SOLUTION

Accepted Solutions
Cisco Employee

Re: Cisco ISE Guest Portal Human Verification

Yes, you can accomplish this with the steps below:

*I found these instructions long ago written for ISE 1.3.  There was no author attached to them and I have updated the instructions for 2.1*

Navigate to Work Centers > Guest Access > Configure > Guest Portals.  Select the Self-Registered Guest Portal and click the Duplicate button.

Captcha1.PNG

Give the new Portal a name and updated description.

Captcha2.PNG

Click on the Portal Page Customization panel and verify that you are customizing the Login page.

Captcha3.PNG

Scroll to the Optional Content 2 text box and click the HTML Toggle button (highlighted below):

Captcha4.PNG

Paste the contents of the captcha_login.txt file into the text box and click the HTML Toggle button again.

<style>

.captcha_text {

margin-top:5px;

float: left;

width: 82px;

  height: 37px;

  font: bold 16px/37px Arial, sans;

  text-align: center;

  background-color: #ededed;

  -webkit-touch-callout: none;

  -webkit-user-select: none;

  -khtml-user-select: none;

  -moz-user-select: none;

  -ms-user-select: none;

  user-select: none;

}

.captcha_input

{

float: left;

width: 250px;

margin-left:45px;

}

</style><script>

var submitButton = jQuery('#ui_login_signon_button');

var submitButtonUiContainer = submitButton.parent();

submitButtonUiContainer.css('opacity', 0.25);

submitButton.addClass('disabled');

var captchaBlock = jQuery('<div class="captcha_container"></div>');

captchaBlock.html('<div class="captcha_text"></div> <div class="captcha_input"><input placeholder="Enter code" type="text" /></div>');

jQuery('form[name="loginForm"]').find('.cisco-ise-form-buttons').before(captchaBlock);

var login_captcha='';

    function login_randomgen() {

        for (ranNum = 1; ranNum <= 6; ranNum++) {

            login_captcha += Math.floor(Math.random() * 10).toString();

        }

        jQuery('.captcha_text').html(login_captcha);

    }

    login_randomgen();

jQuery('.captcha_input').find('input').on('input', function(evt){

if(jQuery(this).val() == login_captcha)

{

submitButton.removeClass('disabled');

submitButtonUiContainer.css('opacity', 1);

}

else

{

submitButton.addClass('disabled');

submitButtonUiContainer.css('opacity', 0.25);

}

});

submitButton.on('click', function(evt){

evt.preventDefault();

if(jQuery(this).hasClass('disabled')) return;

jQuery('form[name="loginForm"]').submit();

});

</script>

Captcha5.PNG

Scroll up and select the Self-Registration page

Captcha6.PNG

Scroll down to the Optional Content 2 text box and click the HTML Toggle button (highlighted below):

Captcha4.PNG

Paste the contents of the captcha_selfReg.txt file into the text box and click the HTML Toggle button again.

<style>

.captcha_text {

margin-top:5px;

float: left;

width: 82px;

  height: 37px;

  font: bold 16px/37px Arial, sans;

  text-align: center;

  background-color: #ededed;

  -webkit-touch-callout: none;

  -webkit-user-select: none;

  -khtml-user-select: none;

  -moz-user-select: none;

  -ms-user-select: none;

  user-select: none;

}

.captcha_input

{

float: left;

width: 250px;

margin-left:45px;

}

.disabled .ui-submit

{

opacity: 0.25;

}

</style><script>

var submitButton = jQuery('#ui_self_reg_submit_button');

var submitButtonUiContainer = submitButton.parent();

submitButtonUiContainer.addClass('disabled');

console.log(submitButtonUiContainer);

submitButton.addClass('disabled');

var captchaBlock = jQuery('<div class="captcha_container"></div>');

captchaBlock.html('<div class="captcha_text"></div> <div class="captcha_input"><input placeholder="Enter code" type="text" /></div>');

jQuery('form[name="selfRegForm"]').find('.cisco-ise-form-buttons').before(captchaBlock);

var login_captcha='';

    function login_randomgen() {

        for (ranNum = 1; ranNum <= 6; ranNum++) {

            login_captcha += Math.floor(Math.random() * 10).toString();

        }

        jQuery('.captcha_text').html(login_captcha);

    }

    login_randomgen();

jQuery('.captcha_input').find('input').on('input', function(evt){

if(jQuery(this).val() == login_captcha)

{

submitButton.removeClass('disabled');

submitButtonUiContainer.removeClass('disabled');

}

else

{

submitButton.addClass('disabled');

submitButtonUiContainer.addClass('disabled');

}

});

submitButton.on('click', function(evt){

evt.preventDefault();

if(jQuery(this).hasClass('disabled')) return;

jQuery('form[name="selfRegForm"]').submit();

});

</script>

Captcha5.PNG

The most important step is to scroll all the way back up and click Save

Captcha9.PNG

Once this is done, you can test the new Self-Registration Guest Portal with Captcha Verification.

This is the initial login screen.

Captcha7.PNG

If the user clicks the 'Don't have an account?' link, they will get this page, also with a Captcha

Captcha8.PNG

I hope this helps.  Please leave feedback so that we know.

**Edited to replace all '$' in javascript with 'jQuery'

3 REPLIES 3
Cisco Employee

Re: Cisco ISE Guest Portal Human Verification

Yes, you can accomplish this with the steps below:

*I found these instructions long ago written for ISE 1.3.  There was no author attached to them and I have updated the instructions for 2.1*

Navigate to Work Centers > Guest Access > Configure > Guest Portals.  Select the Self-Registered Guest Portal and click the Duplicate button.

Captcha1.PNG

Give the new Portal a name and updated description.

Captcha2.PNG

Click on the Portal Page Customization panel and verify that you are customizing the Login page.

Captcha3.PNG

Scroll to the Optional Content 2 text box and click the HTML Toggle button (highlighted below):

Captcha4.PNG

Paste the contents of the captcha_login.txt file into the text box and click the HTML Toggle button again.

<style>

.captcha_text {

margin-top:5px;

float: left;

width: 82px;

  height: 37px;

  font: bold 16px/37px Arial, sans;

  text-align: center;

  background-color: #ededed;

  -webkit-touch-callout: none;

  -webkit-user-select: none;

  -khtml-user-select: none;

  -moz-user-select: none;

  -ms-user-select: none;

  user-select: none;

}

.captcha_input

{

float: left;

width: 250px;

margin-left:45px;

}

</style><script>

var submitButton = jQuery('#ui_login_signon_button');

var submitButtonUiContainer = submitButton.parent();

submitButtonUiContainer.css('opacity', 0.25);

submitButton.addClass('disabled');

var captchaBlock = jQuery('<div class="captcha_container"></div>');

captchaBlock.html('<div class="captcha_text"></div> <div class="captcha_input"><input placeholder="Enter code" type="text" /></div>');

jQuery('form[name="loginForm"]').find('.cisco-ise-form-buttons').before(captchaBlock);

var login_captcha='';

    function login_randomgen() {

        for (ranNum = 1; ranNum <= 6; ranNum++) {

            login_captcha += Math.floor(Math.random() * 10).toString();

        }

        jQuery('.captcha_text').html(login_captcha);

    }

    login_randomgen();

jQuery('.captcha_input').find('input').on('input', function(evt){

if(jQuery(this).val() == login_captcha)

{

submitButton.removeClass('disabled');

submitButtonUiContainer.css('opacity', 1);

}

else

{

submitButton.addClass('disabled');

submitButtonUiContainer.css('opacity', 0.25);

}

});

submitButton.on('click', function(evt){

evt.preventDefault();

if(jQuery(this).hasClass('disabled')) return;

jQuery('form[name="loginForm"]').submit();

});

</script>

Captcha5.PNG

Scroll up and select the Self-Registration page

Captcha6.PNG

Scroll down to the Optional Content 2 text box and click the HTML Toggle button (highlighted below):

Captcha4.PNG

Paste the contents of the captcha_selfReg.txt file into the text box and click the HTML Toggle button again.

<style>

.captcha_text {

margin-top:5px;

float: left;

width: 82px;

  height: 37px;

  font: bold 16px/37px Arial, sans;

  text-align: center;

  background-color: #ededed;

  -webkit-touch-callout: none;

  -webkit-user-select: none;

  -khtml-user-select: none;

  -moz-user-select: none;

  -ms-user-select: none;

  user-select: none;

}

.captcha_input

{

float: left;

width: 250px;

margin-left:45px;

}

.disabled .ui-submit

{

opacity: 0.25;

}

</style><script>

var submitButton = jQuery('#ui_self_reg_submit_button');

var submitButtonUiContainer = submitButton.parent();

submitButtonUiContainer.addClass('disabled');

console.log(submitButtonUiContainer);

submitButton.addClass('disabled');

var captchaBlock = jQuery('<div class="captcha_container"></div>');

captchaBlock.html('<div class="captcha_text"></div> <div class="captcha_input"><input placeholder="Enter code" type="text" /></div>');

jQuery('form[name="selfRegForm"]').find('.cisco-ise-form-buttons').before(captchaBlock);

var login_captcha='';

    function login_randomgen() {

        for (ranNum = 1; ranNum <= 6; ranNum++) {

            login_captcha += Math.floor(Math.random() * 10).toString();

        }

        jQuery('.captcha_text').html(login_captcha);

    }

    login_randomgen();

jQuery('.captcha_input').find('input').on('input', function(evt){

if(jQuery(this).val() == login_captcha)

{

submitButton.removeClass('disabled');

submitButtonUiContainer.removeClass('disabled');

}

else

{

submitButton.addClass('disabled');

submitButtonUiContainer.addClass('disabled');

}

});

submitButton.on('click', function(evt){

evt.preventDefault();

if(jQuery(this).hasClass('disabled')) return;

jQuery('form[name="selfRegForm"]').submit();

});

</script>

Captcha5.PNG

The most important step is to scroll all the way back up and click Save

Captcha9.PNG

Once this is done, you can test the new Self-Registration Guest Portal with Captcha Verification.

This is the initial login screen.

Captcha7.PNG

If the user clicks the 'Don't have an account?' link, they will get this page, also with a Captcha

Captcha8.PNG

I hope this helps.  Please leave feedback so that we know.

**Edited to replace all '$' in javascript with 'jQuery'

Beginner

Re: Cisco ISE Guest Portal Human Verification

Hi Charles,

I've tried this method, and it works great.

Thank you very much for your help.

Hopefully in the next Cisco ISE release this can be done with an option in ISE so no need to copy paste the script

Have a nice day..

Cisco Employee

Re: Cisco ISE Guest Portal Human Verification

If you don't mind send me company name to jakunst@cisco.com<mailto:jakunst@cisco.com> and will add to request list

I don't think will be in next release