کد هک

نویسنده mohammad a, بعد از ظهر 20:21:44 - 01/26/12

« اجرا c++ با ویندوز سون 64 bit | ایجاد موقعیت در css »

0 اعضا و 1 مهمان درحال دیدن موضوع.

mohammad a

سلام من کد زیر را در قالب وب سایت ام پیدا کردم کد زیر چیست؟
// Load the SDK Asynchronously
    (function(d){
     var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = '//connect.facebook.net/fa_IR/all.js';
     d.getElementsByTagName('head')[0].appendChild(js);
    }(document));
   
    </script>

دقت کنید
facebook.net
نه
facebook.com

maxim354

سلام کد شما مربوط به بسته yii-facebook-opengraph می باشد که می تونید پاکش کنید.


اینم سورسش:
<?php
/**
 * SFacebook class file.
 *
 * @author Evan Johnson <thaddeusmt - A T - gmail.com>
 * @link [url]https://github.com/splashlab/yii-facebook-opengraph[/url]
 * @copyright Copyright &copy; 2011 SplashLab Social  http://splashlabsocial.com
 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2
 *
 */

Yii::import("ext.yii-facebook-opengraph.SBaseFacebook");
class 
SFacebook extends CApplicationComponent
{
    
/**
     * @var bool instance of the Facebook library
     */
    
private $_facebook;

    
/**
     * @var string Facebook Application ID
     */
    
public $appId;

    
/**
     * @var string Facebook Application secret
     */
    
public $secret;

    
/**
     * @var bool Indicates if the CURL based @ syntax for file uploads is enabled in the PHP SDK
     */
    
public $fileUpload false;

    
/**
     * @var bool whether or not to check login status
     */
    
public $status true;

    
/**
     * @var bool whether or not use a cookie
     */
    
public $cookie true;

    
/**
     * @var bool whether or not to enable OAuth 2.0
     */
    
public $oauth true;

    
/**
     * @var bool whether or not to parse XFBML tags with the JS library (will render Plugins with iframes if false)
     */
    
public $xfbml true;

    
/**
     * @var bool whether or not to look for an run JS callbacks in the async JS loader
     */
    
public $jsCallback false;

    
/**
     * @var string JavaScript to run after the Facebook JS library loads asynchronously
     */
    
private $callbackScripts '';

    
/**
     * @var bool turn on or off the Facebook JS
     */
    
public $jsSdk true;

    
/**
     * @var bool whether or not to use html5 social plugins instead of xfbml
     */
    
public $html5 true;

    
/**
     * @var bool Load the Facebook init script asynchronously.
     *
     * This speeds up page loads because loading the plugin does not block
     * loading other elements of the page.
     */
    
public $async true;

    
/**
     * @var string Override default locale for the widget.
     *
     * Normally locale is set automatically based on the Yii language settings,
     * setting it here allows a specific locale to be used.
     */
    
public $locale;
    private 
$_locale;

    
/**
     * @var array Open Graph Meta Tags
     */
    
public $ogTags = array();

    
/**
     * @var array Allowed Open Graph properties.
     */
    
protected $openGraphProperties = array(
        
'admins',
        
'app_id',
        
'title',
        
'type',
        
'image',
        
'url',
        
'description',
        
'site_name',
        
'latitude',
        
'longitude',
        
'street-address',
        
'locality',
        
'region',
        
'postal-code',
        
'country-name',
        
'email',
        
'phone_number',
        
'fax_number',
        
'upc',
        
'isbn',
        
'video',
        
'video:height',
        
'video:width',
        
'video:type',
        
'audio',
        
'audio:title',
        
'audio:artist',
        
'audio:album',
        
'audio:type',
    );

    
/**
     * @var array Valid Facebook locales.
     */
    
protected $locales = array(
        
'az_AZ',
        
'be_BY',
        
'bg_BG',
        
'bn_IN',
        
'bs_BA',
        
'ca_ES',
        
'ck_US',
        
'cs_CZ',
        
'cy_GB',
        
'da_DK',
        
'de_DE',
        
'eu_ES',
        
'en_GB',
        
'en_PI',
        
'en_UD',
        
'en_US',
        
'es_LA',
        
'es_CL',
        
'es_CO',
        
'es_ES',
        
'es_MX',
        
'es_VE',
        
'fb_FI',
        
'fi_FI',
        
'fr_FR',
        
'gl_ES',
        
'hu_HU',
        
'it_IT',
        
'ja_JP',
        
'ko_KR',
        
'nb_NO',
        
'nn_NO',
        
'nl_NL',
        
'pl_PL',
        
'pt_BR',
        
'pt_PT',
        
'ro_RO',
        
'ru_RU',
        
'sk_SK',
        
'sl_SI',
        
'sv_SE',
        
'th_TH',
        
'tr_TR',
        
'ku_TR',
        
'zh_CN',
        
'zh_HK',
        
'zh_TW',
        
'fb_LT',
        
'af_ZA',
        
'sq_AL',
        
'hy_AM',
        
'hr_HR',
        
'nl_BE',
        
'eo_EO',
        
'et_EE',
        
'fo_FO',
        
'fr_CA',
        
'ka_GE',
        
'el_GR',
        
'gu_IN',
        
'hi_IN',
        
'is_IS',
        
'id_ID',
        
'ga_IE',
        
'jv_ID',
        
'kn_IN',
        
'kk_KZ',
        
'la_VA',
        
'lv_LV',
        
'li_NL',
        
'lt_LT',
        
'mk_MK',
        
'mg_MG',
        
'ms_MY',
        
'mt_MT',
        
'mr_IN',
        
'mn_MN',
        
'ne_NP',
        
'pa_IN',
        
'rm_CH',
        
'sa_IN',
        
'sr_RS',
        
'so_SO',
        
'sw_KE',
        
'tl_PH',
        
'ta_IN',
        
'tt_RU',
        
'te_IN',
        
'ml_IN',
        
'uk_UA',
        
'uz_UZ',
        
'vi_VN',
        
'xh_ZA',
        
'zu_ZA',
        
'km_KH',
        
'tg_TJ',
        
'ar_AR',
        
'he_IL',
        
'ur_PK',
        
'fa_IR',
        
'sy_SY',
        
'yi_DE',
        
'gn_PY',
        
'qu_PE',
        
'ay_BO',
        
'se_NO',
        
'ps_AF',
        
'tl_ST',
    );

    
/**
     * Get the proper http URL prefix depending on if this was a secure page request or not
     *
     * @return string https or https
     */
    
public function getProtocol() {
        if(
Yii::app()->request->isSecureConnection)
            return 
'https';
        return 
'http';
    }

    
/**
     * Load Facebook JS and Open Graph meta tags
     * http://developers.facebook.com/docs/reference/javascript/
     * http://developers.facebook.com/docs/opengraph/
     * @return void
     */
    
public function initJs(&$output)
    {
        if (!
$this->appId) {
            throw new 
CException('Facebook Application ID not specified.');
        }
        
// initialize the Facebook JS
        
if ($this->jsSdk) {
            
$script '//connect.facebook.net/'.$this->getLocale().'/all.js';
            
$init $this->registerSDKScript('init', array(
                    
'appId' => $this->appId// application ID
                    
'status' => $this->status// check login status
                    
'cookie' => $this->cookie// enable cookies to allow the server to access the session
                    
'xfbml' => $this->xfbml// parse XFBML
                    
'oauth' => $this->oauth// enable OAuth 2.0
                    // TODO follow up on this bug: http://developers.facebook.com/bugs/258868920826496
                    // IE won't login with this channelUrl line uncommented
                    //'channelUrl' => $this->getChannelUrl(), // Channel File
                
)
            );
            if (
$this->async) {
                
$init "window.fbAsyncInit = function(){{$init}};
                (function(d){
                 var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
                 js = d.createElement('script'); js.id = id; js.async = true;
                 js.src = '
{$script}';
                 d.getElementsByTagName('head')[0].appendChild(js);
                }(document));"
;
            }
            else {
                
Yii::app()->clientScript->registerScriptFile($scriptCClientScript::POS_END);
            }
            
Yii::app()->getClientScript()->registerScript('fb-script'$initCClientScript::POS_END);
            
$this->insertFbRoot($output);
            
$this->registerAsyncCallback();
        }
    }

    
/**
     * This function adds the fb-root div tag to the bottom of the <body> tag
     * THe code is borrowed from Yii's own CClientScript::renderBodyEnd() function
     * @param $output (passed by reference) the final page HTML render, so insert the tag into
     */
    
protected function insertFbRoot(&$output) {
        
$fbRoot '<div id="fb-root"></div>';
        
$fullPage=0;
        
$output=preg_replace('/(<\\/body\s*>)/is','<###end###>$1',$output,1,$fullPage);
        if(
$fullPage)
            
$output=str_replace('<###end###>',$fbRoot,$output);
        else
            
$output=$output.$fbRoot;
    }

    
/**
     * http://developers.facebook.com/docs/reference/javascript/
     * @return string url of the FB JS SDK channel file
     */
    
protected function getChannelUrl() {
        return 
'//'.Yii::app()->request->getServerName().'/facebook-channel.php';
    }

    
/**
     * Registers all of the Open Graph meta tags declared
     * @return void
     */
    
public function renderOGMetaTags() {
        
$this->ogTags['app_id'] = $this->appId// set this app ID og tag, for Facebook insights and administration
        
if (!isset($this->ogTags['type']))
            
$this->ogTags['type'] = 'website'// set website as the default type
        
if (!isset($this->ogTags['title']))
            
$this->ogTags['title'] = Yii::app()->name// default to App name
        
if (!isset($this->ogTags['url']))
            
$this->ogTags['url'] = $this->getProtocol()."://".Yii::app()->request->serverName.Yii::app()->request->requestUri// defaults to current URL
        
foreach ($this->ogTags as $type => $value) { // loop through any other OG tags declared
            
$this->registerOpenGraph($type$value);
        }
    }

    
/**
     * Add JS to run after Facebook initalizes
     * @param JavaScript that needs to run right after the Facebook Asynchronous loader finishes
     * @return void
     */
    
public function addJsCallback($script) {
        
$this->callbackScripts .= $script;
    }

    
/**
     * Creates the Facebook JS init call
     * @param string $method
     * @param array $args args to use in the method
     * @return string the js created
     */
    
protected function registerSDKScript($method$args=array())
    {
        
$args CJavaScript::encode($args);// Initalize Facebook JS
        
if ($this->jsCallback)
            return 
"FB.{$method}({$args});asyncCallback();";
        else
            return 
"FB.{$method}({$args});";
    }

    
/**
     * This method adds your scripts to the callback method
     * Call this function in afterRender after you have added scripts with the addScript method
     * @return void
     */
    
protected function registerAsyncCallback() {
        if (
$this->jsCallback) {
            
$script "function asyncCallback() {
        
{$this->callbackScripts}
      }"
;
            
Yii::app()->getClientScript()->registerScript('fb-async-callback'$scriptCClientScript::POS_END);
        }
    }

    
/**
     * Register an opengraph property.
     * @param string $property
     * @param string $data
     */
    
public function registerOpenGraph($property$data)
    {
        if (!
in_array($property$this->openGraphProperties)) {
            throw new 
CException('Invalid open graph property : ' $property);
        }
        if (
in_array($property, array('app_id','admins'))) {
            
$property 'fb:' $property;
        } else {
            
$property 'og:' $property;
        }
        
Yii::app()->clientScript->registerMetaTag($datanullnull, array('property' => $property));
    }

    
/**
     * Determine the script locale to load
     * Looks at $locale variable declared in this file first
     * Then looks at the Yii application language
     * Defaults to en_US
     * @return string locale code
     */
    
protected function getLocale()
    {
        if(
$this->_locale === null) {
            if (isset(
$this->locale)) {
                
$locale strtolower($this->locale);
            }
            elseif(
Yii::app()->language) {
                
$locale Yii::app()->language;
            } else {
                
$locale 'en_US'// default
            
}
            
// Adjustments, mainly because facebook doesn't have all countries
            // of the same language translated.
            
$lang substr($locale02);
            
$adjust = array(
                
'de' => 'de_de',
                
'nl' => 'nl_nl',
                
'ru' => 'ru_ru',
                
'ar' => 'ar_ar'// non standard
                
'ku' => 'ku_tr',
            );
            
// single check languages, array above ...
            
if (isset($adjust[$lang])) {
                
$locale $adjust[$lang];
            }
            
// english
            
else if ($lang === 'en' && !in_array($locale, array('en_us','en_pi','en_ud'))) {
                
// closer to US english
                
if ($locale === 'en_ca') {
                    
$locale 'en_us';
                }
                
// closer to UK english
                
else {
                    
$locale 'en_gb';
                }
            }
            
// french
            
else if ($lang === 'fr' && $locale !== 'fr_ca') {
                
$locale 'fr_fr';
            }
            
// spanish
            
else if ($lang === 'es' && !in_array($locale, array('es_es','es_cl','es_co','es_mx','es_ve'))) {
                
$locale 'es_la'// non standard
            
}
            
// portuguese
            
else if ($lang === 'pt' && $locale !== 'pt_br') {
                
$locale 'pt_pt';
            }
            
$c explode('_'$locale);
            if (!isset(
$c[1])) {
                throw new 
CException('Locale for Facebook plugins must be in the following format : ll_CC');
            }
            
$locale $c[0] . '_' strtoupper($c[1]);
            if (!
in_array($locale$this->locales)) {
                throw new 
CException('Invalid Facebook locale');
            }
            
$this->_locale $locale;
        }
        return 
$this->_locale;
    }

    
/*** PHP SDK functions **/

    /**
     * @throws CException if the Facebook PHP SDK cannot be loaded
     * @return instance of Facebook PHP SDK class
     */
    
protected function _getFacebook()
    {
        if (
is_null($this->_facebook)) {
            if (
$this->appId && $this->secret) {
                
$this->_facebook = new SBaseFacebook(
                    array(
                        
'appId' => $this->appId,
                        
'secret' => $this->secret,
                        
'fileUpload' => $this->fileUpload
                    
));
            } else {
                if (!
$this->appId)
                    throw new 
CException('Facebook application ID not specified.');
                elseif (!
$this->secret)
                    throw new 
CException('Facebook application secret not specified.');
            }
        }
        if(!
is_object($this->_facebook)) {
            throw new 
CException('Facebook API could not be initialized.');
        }
        return 
$this->_facebook;
    }

    
/**
     * Get the user object. This will automatically look for a signed session
     * sent via the signed_request, Cookie or Query Parameters if needed.
     *
     * @return Array the session
     */
    
public function getUser(){
        return 
$this->_getFacebook()->getUser();
    }

    
/**
     * Destroy the current session
     */
    
public function destroySession(){
        return 
$this->_getFacebook()->destroySession();
    }

    
/**
     * Gets a OAuth access token.
     *
     * @return String the access token
     */
    
public function getAccessToken(){
        return 
$this->_getFacebook()->getAccessToken();
    }

    
/**
     * Get the data from a signed_request token
     *
     * @return String the base domain
     */
    
public function getSignedRequest(){
        return 
$this->_getFacebook()->getSignedRequest();
    }

    
/**
     * Get a Login URL for use with redirects. By default, full page redirect is
     * assumed. If you are using the generated URL with a window.open() call in
     * JavaScript, you can pass in display=popup as part of the $params.
     *
     * The parameters:
     * - redirect_uri: the url to go to after a successful login
     * - scope: comma separated list of requested extended perms
     *
     * @param array $params Provide custom parameters
     * @return string The URL for the login flow
     */
    
public function getLoginUrl($params=array()) {
        return 
$this->_getFacebook()->getLoginUrl($params);
    }

    
/**
     * Get a Logout URL suitable for use with redirects.
     *
     * The parameters:
     * - next: the url to go to after a successful logout
     *
     * @param array $params Provide custom parameters
     * @return string The URL for the logout flow
     */
    
public function getLogoutUrl($params=array()) {
        return 
$this->_getFacebook()->getLogoutUrl($params);
    }

    
/**
     * Get a login status URL to fetch the status from Facebook.
     *
     * The parameters:
     * - ok_session: the URL to go to if a session is found
     * - no_session: the URL to go to if the user is not connected
     * - no_user: the URL to go to if the user is not signed into facebook
     *
     * @param array $params Provide custom parameters
     * @return string The URL for the logout flow
     */
    
public function getLoginStatusUrl($params=array()) {
        return 
$this->_getFacebook()->getLoginStatusUrl($params);
    }

    
/**
     * Make an API call - direct pass-through to the facebook SDK
     *
     * @param Array $params the API call parameters
     * @return the decoded response
     */
    
public function api(/* polymorphic */) {
        
$args func_get_args();
        
$result false;
        try {
            
$result call_user_func_array(array($this->_getFacebook(), 'api'), $args);
        } catch (
CurlException $e) { //timeout so try to resend
            
$result call_user_func_array(array($this->_getFacebook(), 'api'), $args);
        } 
/*catch (Exception $e) {
            Yii::log('Failed to make Facebook API call. Exception: '.$e->getMessage());
        }*/
        
return $result;
    }

    
/**
     * Get the Facebook profile picture for the currently logged in user
     *
     * @param size facebook image size (square, small, normal, large)
     * @return url of Facebook profile picture
     */
    
public function getProfilePicture($size null){
        
$id $this->_getFacebook()->getUser();
        return 
$this->getProfilePictureById($id,$size);
    }

    
/**
     * Get the Facebook user profile picture for a given Open Graph object
     *
     * @param id Facebook user id
     * @param size (optional) size of the facebook image to return (square, small, normal, large)
     * @return url of Facebook profile picture
     */
    
public function getProfilePictureById($id$size null){
        if (!
$size)
            return 
$this->getProtocol().'://graph.facebook.com/'.$id.'/picture';
        else {
            return 
$this->getProtocol().'://graph.facebook.com/'.$id.'/picture?type='.$size;
        }
    }

    
/**
     * Get the Facebook Open Graph info for the current user
     *
     * @return array of Facebook Open Graph user data for the logged in user "me"
     */
    
public function getInfo() {
        return 
$this->getInfoById('me');
    }

    
/*
    * @param Facebook user id
    * @return array of Facebook Open Graph user data
    */
    
public function getInfoById($id) {
        if (
$this->getUser()) {
            return 
$this->api('/'.$id);
        } else {
            return 
false;
        }
    }
}

Tags:

Share via facebook Share via linkedin Share via telegram Share via twitter Share via whatsapp