Showing posts with label programing. Show all posts
Showing posts with label programing. Show all posts

Thursday, 19 February 2015

developers my www




How to Add Facebook Like Box Pop-Up on your Blogger

AND

http://www.allblogger.tips/2014/07/how-to-add-floating-facebook-like-box.html



javascript menu


http://www.dynamicdrive.com/dynamicindex1/

Monday, 30 June 2014

Nginx no Hotlink







location ~* (\.jpg|\.png|\.gif|\.jpeg)${
if ($http_referer ~ ^(http://target-domain.com)){
rewrite ^/(.*)$ https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoXNgZvaiYUnskGDZX6aZPkxeDXP-hxl5C6f3KBjCoex1mZq3CWr_T5ZQO6bKhcOg_mwFATqwc4Hwg7Md5abubgGHztRcaAmTPC9V61bycCToG1Ud6P-9fmZQs21VImnn2MvpOIWkCb2Ae/s1600/lens13475531_1284701688no-hotlinking.png last;
}
}


อธิบาย code
location ~* (\.jpg|\.png|\.gif|\.jpeg)$ 
เมื่อปลายทางใดๆเรียก url ภาพที่มีนามสกุลตาม .jpg .png .gif .jpeg ให้ไปทำงาน รวมถึง my-domain.com

if ($http_referer ~ ^(http://target-domain.com) ) { }
ตรวจสอบว่า url ปลายทางที่เรียกมาว่าเป็น http://target-domain.com หรือเปล่าถ้าใช่ ให้ส่ง url ของภาพ 

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoXNgZvaiYUnskGDZX6aZPkxeDXP-hxl5C6f3KBjCoex1mZq3CWr_T5ZQO6bKhcOg_mwFATqwc4Hwg7Md5abubgGHztRcaAmTPC9V61bycCToG1Ud6P-9fmZQs21VImnn2MvpOIWkCb2Ae/s1600/lens13475531_1284701688no-hotlinking.png 

นี้กลับไปแทน


////////////////////////////////////////////////////////////////////////////////////////////////////////////////

http://wiki.nginx.org/IfIsEvil
http://wiki.nginx.org/Pitfalls

/////////////////////////////////////////////////////////////////

Hotlink protection in Nginx

Hotlinked files can be a major cause for bandwidth leeching for some sites. Here’s how you can hotlink protect your images and other file types using a simple location directive in your Nginx configuration file :
location ~ \.(jpe?g|png|gif)$ {
     valid_referers none blocked mysite.com *.mysite.com;
     if ($invalid_referer) {
        return   403;
    }
}
Use the pipe (“|”) to separate file extensions you want to hotlink protect.
The valid_referers directive contains the list of site for whom hotlinking is allowed. Here is an explanation of the parameters for the valid_referers directive :
  • none - Matches the requests with no Referrer header.
  • blocked - Matches the requests with blocked Referrer header.
  • *.mydomain.com - Matches all the sub domains of mydomain.com. Since v0.5.33, * wildcards can be used in the server names.
You can also tweak the location directive for blocking files from a specific directory. Like this :
location /images/ {
     valid_referers none blocked mysite.com *.mysite.com;
     if ($invalid_referer) {
        return   403;
    }
}
http://nginxlibrary.com/hotlink-protection/

Monday, 12 August 2013

cURL php

cURL Functions

curl_close - ปิดกาลใช้ Functions curl
curl_copy_handle - สำเนาม้วนจัดการพร้อมกับการตั้งค่าของ
curl_errno - ส่งข้อผิดพลาด กลับมาเป็น เลข error เช่น error 404 file not FOUND
curl_error - กลับสตริงที่มีข้อผิดพลาดที่ผ่านมาสำหรับการใช้งานปัจจุบัน
curl_escape - URL encodes สตริงที่กำหนด
curl_exec - เซสชั่นการม้วน
curl_file_create - สร้างวัตถุ CURLFile
curl_getinfo - รับข้อมูลเกี่ยวกับการถ่ายโอนเฉพาะ
curl_init - เริ่มต้นเซสชั่นม้วน
curl_multi_add_handle - เพิ่มที่จับม้วนปกติที่จะจับหลายม้วน
curl_multi_close - ปิดชุดของม้วนจัดการ
curl_multi_exec - เรียกใช้การเชื่อมต่อย่อยของการจัดการม้วนปัจจุบัน
curl_multi_getcontent - กลับเนื้อหาของการจัดการม้วน CURLOPT_RETURNTRANSFER ถ้ามีการตั้งค่า
curl_multi_info_read - รับข้อมูลเกี่ยวกับการโอนปัจจุบัน
curl_multi_init - คืนใหม่จับหลายม้วน
curl_multi_remove_handle - ลบจับหลายจากชุดของม้วนจับ
curl_multi_select - รอให้การทำงานในการเชื่อมต่อ curl_multi ใด ๆ
curl_multi_setopt - ตั้งค่าตัวเลือกสำหรับการจับหลายม้วน
curl_multi_strerror - กลับรหัสข้อผิดพลาดสตริงอธิบาย
curl_pause - หยุดชั่วคราวยกเลิกการหยุดชั่วคราวและการเชื่อมต่อ
curl_reset - ตั้งค่าตัวเลือกทั้งหมดของการจัดการเซสชั่น libcurl
curl_setopt_array - ตั้งค่าหลายตัวเลือกสำหรับการถ่ายโอนม้วน
curl_setopt - ตั้งค่าตัวเลือกสำหรับการถ่ายโอนม้วน
curl_share_close - ปิดจับหุ้นม้วน
curl_share_init - เริ่มต้นจับหุ้นม้วน
curl_share_setopt - ตั้งค่าตัวเลือกสำหรับการจับหุ้นม้วน
curl_strerror - สตริงกลับอธิบายรหัสข้อผิดพลาดให้
curl_unescape - ถอดรหัส URL สตริงที่กำหนดเข้ารหัส
curl_version - ดูข้อมูลรุ่นม้วน

?>

    $urlWithoutProtocol = "www.domain.com:80/someServices";
    $request         = "";
    $isRequestHeader = false;

    $exHeaderInfoArr   = array();
    $exHeaderInfoArr[] = "Content-type: text/xml";
    $exHeaderInfoArr[] = "Authorization: "."Basic ".base64_encode("authen_user:authen_pwd");

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $urlWithoutProtocol);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
    curl_setopt($ch, CURLOPT_HEADER, (($isRequestHeader) ? 1 : 0));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    if( is_array($exHeaderInfo) && !empty($exHeaderInfo) )
    {
        curl_setopt($ch, CURLOPT_HTTPHEADER, $exHeaderInfo);
    }
    $response = curl_exec($ch);
    curl_close($ch);

    echo $response;
?>
###########################################
$request = "format=csv&by=member&rs=hour&rk=productivity&rb=".$month_first_date."&re=".$cur_date = date('Y-m-d');
$urlWithoutProtocol = "www.rescuetime.com/anapi/data/?".$request ;
$isRequestHeader = FALSE;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $urlWithoutProtocol);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$productivity = curl_exec($ch);
curl_close($ch);

?>
#########################################
ถ้าเป็นเว็บไซต์ที่ใช้ https จะต้องเขียนอย่างนี้ครับ

$request = "format=csv&by=member&rs=hour&rk=productivity&rb=".$month_first_date."&re=".$cur_date = date('Y-m-d');
$urlWithoutProtocol = "https://www.rescuetime.com/anapi/data/?".$request ;
$isRequestHeader = FALSE;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $urlWithoutProtocol);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$productivity = curl_exec($ch);
curl_close($ch);

?>

########################################

Detect Redirection Based on Browser

In this first example, we will write a script that can detect URL redirections based on different browser settings. For example, some websites redirect cellphone browsers, or even surfers from different countries.
We are going to be using the CURLOPT_HTTPHEADER option to set our outgoing HTTP Headers including the user agent string and the accepted languages. Finally we will check to see if these websites are trying to redirect us to different URLs.
  1. // test URLs  
  2. $urls = array(  
  3.     "http://www.cnn.com",  
  4.     "http://www.mozilla.com",  
  5.     "http://www.facebook.com"  
  6. );  
  7. // test browsers  
  8. $browsers = array(  
  9.   
  10.     "standard" => array (  
  11.         "user_agent" => "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 (.NET CLR 3.5.30729)",  
  12.         "language" => "en-us,en;q=0.5"  
  13.         ),  
  14.   
  15.     "iphone" => array (  
  16.         "user_agent" => "Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A537a Safari/419.3",  
  17.         "language" => "en"  
  18.         ),  
  19.   
  20.     "french" => array (  
  21.         "user_agent" => "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB6; .NET CLR 2.0.50727)",  
  22.         "language" => "fr,fr-FR;q=0.5"  
  23.         )  
  24.   
  25. );  
  26.   
  27. foreach ($urls as $url) {  
  28.   
  29.     echo "URL: $url\n";  
  30.   
  31.     foreach ($browsers as $test_name => $browser) {  
  32.   
  33.         $ch = curl_init();  
  34.   
  35.         // set url  
  36.         curl_setopt($ch, CURLOPT_URL, $url);  
  37.   
  38.         // set browser specific headers  
  39.         curl_setopt($ch, CURLOPT_HTTPHEADER, array(  
  40.                 "User-Agent: {$browser['user_agent']}",  
  41.                 "Accept-Language: {$browser['language']}"  
  42.             ));  
  43.   
  44.         // we don't want the page contents  
  45.         curl_setopt($ch, CURLOPT_NOBODY, 1);  
  46.   
  47.         // we need the HTTP Header returned  
  48.         curl_setopt($ch, CURLOPT_HEADER, 1);  
  49.   
  50.         // return the results instead of outputting it  
  51.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
  52.   
  53.         $output = curl_exec($ch);  
  54.   
  55.         curl_close($ch);  
  56.   
  57.         // was there a redirection HTTP header?  
  58.         if (preg_match("!Location: (.*)!", $output, $matches)) {  
  59.   
  60.             echo "$test_name: redirects to $matches[1]\n";  
  61.   
  62.         } else {  
  63.   
  64.             echo "$test_name: no redirection\n";  
  65.   
  66.         }  
  67.   
  68.     }  
  69.     echo "\n\n";  
  70. }  

Tuesday, 30 July 2013

วิธี ตั้ง Task Scheduler


alarmcom มาทำคอมพิวเตอร์ให้เป็นนาฬิกาปลุกกันเถอะ!
เพื่อนๆ ชาวเทพเคยประสบปัญหาในการเล่นคอมพิวเตอร์หรือแม้กระทั่งทำงานบนคอมพิวเตอร์จนลืมเวลา ลืมโลกภายนอกหรือเปล่าครับ? วันนี้เรามีวิธีทำคอมพิวเตอร์ให้กลายเป็นนาฬิกาปลุกมานำเสนอ แบบไม่ใช้สแตนด์อิน ไม่ต้องลงโปรแกรมเพิ่ม  ทำได้อย่างไร? ลองมาดูกันเลยครับ
ขั้นตอนแรกให้เปิดโปรแกรม Task Scheduler ก่อน โดยเจ้าโปรแกรม Task Scheduler นั้นจะอยู่ใน Control Panel ในส่วนของ Administrative Tools ตามในรูปด้านล่าง
pic01 600x344 มาทำคอมพิวเตอร์ให้เป็นนาฬิกาปลุกกันเถอะ!
อันที่จริงแล้วโปรแกรม Task Scheduler นั้นไม่ใช่โปรแกรมนาฬิกาปลุกนะครับ แต่เป็นโปรแกรมสำหรับสั่งการให้Windowsโหลดโปรแกรมต่างๆ ขึ้นอัตโนมัติเมื่อถึงเวลาที่กำหนด หรือเกิดเหตุการณ์อะไรบางอย่างขึ้น ตามที่ได้ตั้งค่าไว้ครับ  ด้วยความสามารถดังกล่าว เราสามารถทำให้มันปลุกเราได้ตามเวลาที่เราต้องการได้
สำหรับ Windows 7 นั้น โปรแกรม Task Scheduler จะมีหน้าตาเหมือนรูปด้านล่าง
pic02 600x429 มาทำคอมพิวเตอร์ให้เป็นนาฬิกาปลุกกันเถอะ!
หน้าต่างโปรแกรมจะแสดงรายชื่อคำสั่งที่Windowsจะเรียกขึ้นมาใช้อัตโนมัติ โดยคอมพิวเตอร์แต่ละเครื่องจะมีจำนวนคำสั่งแตกต่างกันออกไปขึ้นอยู่กับโปรแกรมที่ติดตั้งอยู่ในเครื่องครับ
จากนั้นให้เราสร้างคำสั่งขึ้นมาใหม่ โดยการคลิ๊กที่ Create Basic Task ที่ด้านขวาในแถบของ Action
จะปรากฏหน้าต่างWizardตัวช่วยในการสร้างคำสั่งดังภาพ  ในขั้นตอนนี้ให้เราพิมพ์ชื่อของงานที่เราจะสั่ง และรายละเอียดต่างๆ ที่เราต้องการเพื่อให้เข้าใจง่าย เมื่อพิมพ์เสร็จแล้วคลิ๊กปุ่ม Next ตามภาพ
pic05 600x417 มาทำคอมพิวเตอร์ให้เป็นนาฬิกาปลุกกันเถอะ!
จากนั้นจะเข้าสู่หน้าจอ Trigger ซึ่งจะเป็นตัวกำหนดรูปแบบในการปลุก ซึ่งสามารถเลือกได้ทั้งแบบทุกวัน(Daily) ทุกสัปดาห์(Weekly) ทุกเดือน(Monthly) ให้ทำการปลุกแค่ครั้งเดียว(One Time) และรูปแบบอื่นๆ ตามที่เราต้องการ  ซึ่งในตัวอย่างขอเลือกแบบ One Time
pic06 600x418 มาทำคอมพิวเตอร์ให้เป็นนาฬิกาปลุกกันเถอะ!
เมื่อเลือกรูปแบบในการปลุกแล้ว ต่อไปก็ต้องเลือกเวลาที่จะให้ทำการปลุก ซึ่งเราสามารถเลือกได้ว่าจะให้ปลุกวันไหน  เวลาใดได้
pic07 600x418 มาทำคอมพิวเตอร์ให้เป็นนาฬิกาปลุกกันเถอะ!
จากนั้นจะเข้าสู่หน้าจอ Action ซึ่งเป็นตัวกำหนดว่า เมื่อถึงเวลาที่กำหนดให้นาฬิกาปลุกทำงาน จะให้นาฬิกาปลุกของเราทำอะไร โดยสามารถเลือกได้ทั้งให้เปิดโปรแกรมขึ้นมา(Start a program) ให้ส่งอีเมล์(Send e-mail) หรือแค่แสดงข้อความเตือน(Display Message)
โดยนาฬิกาปลุกของเรานั้นต้องการให้มันเล่นเสียงจากไฟล์เสียงที่มีอยู่ในเครื่องของเรา ให้เราเลือกStart a program
เมื่อเราเลือกที่จะให้มันเปิดโปรแกรมแล้ว ต่อไปจะปรากฏหน้าจอให้เราเลือกว่าจะเปิดโปรแกรมอะไร โดยเราจะพิมพ์ชื่อไปเลย หรือจะคลิ๊กที่ปุ่ม Browse เพื่อเลือกหาไฟล์ที่เราต้องการได้ โดยสามารถคลิ๊กเลือกไฟล์เสียงของเราได้ทันทีโดยไม่ต้องตั้งค่าใดๆเพิ่มเติม
pic08 600x420 มาทำคอมพิวเตอร์ให้เป็นนาฬิกาปลุกกันเถอะ!
และสุดท้ายจะเป็นข้อมูลสรุปของคำสั่งที่เราสร้างขึ้นมาใหม่ ให้คลิ๊กปุ่ม Finish เพื่อเสร็จสิ้นการตั้งค่านาฬิกาปลุกของเรา และกลับไปยังโปรแกรม Task Scheduler
pic09 600x418 มาทำคอมพิวเตอร์ให้เป็นนาฬิกาปลุกกันเถอะ!
ในตอนนี้จะมีคำสั่งที่เราสร้างขึ้นมาใหม่อยู่ในรายชื่อของ Task Scheduler โดยเราสามารถเข้าไปเปลี่ยนแปลงการตั้งค่าต่างๆ ได้ถ้าเราต้องการ
pic03 600x428 มาทำคอมพิวเตอร์ให้เป็นนาฬิกาปลุกกันเถอะ!
เราสามารถปิดโปรแกรม Task Scheduler ได้ และรอจนกว่าจะถึงเวลาที่เราตั้งไว้ให้นาฬิกาปลุกทำงาน
เมื่อถึงเวลาที่กำหนด Windows จะเรียกไฟล์เสียงที่เราตั้งไว้ขึ้นมาเล่นผ่านทางโปรแกรมฟังเพลงที่เราใช้ตามปกติ คราวนี้อยากฟังต่อหรือปิดไปก็ตามศรัทธา
pic10 มาทำคอมพิวเตอร์ให้เป็นนาฬิกาปลุกกันเถอะ!
ก็เป็นอันเสร็จสิ้นไปแล้วกับการตั้งนาฬิกาปลุกบนคอมพิวเตอร์เครื่องเก่งของเรา  อยากให้เสียงดังแค่ไหนก็เปิดเสียงให้ดังแค่นั้น  คราวนี้ไม่อยู่หน้าคอมจนผิดนัดแน่นอน
หรือใครอยากจะทำคอมให้เป็นนาฬิกาปลุกตอนเช้าก็ไม่มีใครว่า แต่ระวังค่าไฟจะขึ้นปรู๊ดดด…ไม่รู้ตัวกันนะจ๊ะ  เพราะTask Scheduler ทำงานเฉพาะตอนคอมทำงานเท่านั้น ตอนคอมดับมันไม่ปลุกนะจ๊ะ เดี๋ยวจะหาว่าไม่เตือน…

Saturday, 27 July 2013

log ping server dos





logfile

 ping 192.168.0.1-t > ping log.log
 ping 192.168.0.1-t > ping log.txt

Analytics and Statistic

Blog Archive