์ž์œ ๊ฒŒ์‹œํŒ

  • torr.php RSS ์ˆ˜์ง‘ ์‚ฌ์ดํŠธ ์ฃผ์†Œ ์ž๋™ ์—…๋ฐ์ดํŠธ

    ํŽ˜์ด์ง€ ์ •๋ณด

    profile_image
    ์ž‘์„ฑ์ž์ฒœ์‚ฌ ์กฐํšŒ 11,031ํšŒ ์ž‘์„ฑ์ผ 2021-08-04 16:16:26 ๋Œ“๊ธ€ 0

    ๋ณธ๋ฌธ

    https://www.clien.net/service/board/cm_nas/16381808?od=T31&po=0&category=0&groupCd=

    ย 

    [code]

    ์˜ˆ, site_domain.php

    torr.php์™€ ๋™์ผ ๋””๋ ‰ํ† ๋ฆฌ์— ์ƒ์„ฑํ•จ

    <?PHP
    $SITE_DOMAIN = "torr.com";

    // ๋„๋ฉ”์ธ ๊ด€๋ฆฌ ํŒŒ์ผ include
    if (file_exists("site_domain.php")) include "site_domain.php";

    $CONFIG = array(
    ย ย  ย "xxxx" => array(ย ย  ย # ๋‚ด์šฉ
    ย ย  ย 'https://$SITE_DOMAIN/
    ย ย  ย ),

    ๋„๋ฉ”์ธ ์ฃผ์†Œ ๋ถ€๋ถ„ ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ

    function check_domain(){
    ย ย  ย global $logger;
    ย ย  ย global $SITE_DOMAIN;
    ย ย  ย while(true){
    ย ย  ย // ๊ธฐ์กด ์ €์žฅ๋˜์–ด ์žˆ๋˜ ์ •๋ณด๋กœ ์ฒดํฌ
    ย ย  ย ย ย  ย list($http_code, $header, $html) = curl_fetch($SITE_DOMAIN);

    ย ย  ย // location์ด ์žˆ๋Š”๋ฐ ์ง€๊ธˆ๊ณผ ๋‹ค๋ฅด๋ฉด ์ƒˆ๋กœ์šด ์ฃผ์†Œ๋กœ loop;
    ย ย  ย // location์ด ์žˆ๋Š”๋ฐ ์ง€๊ธˆ๊ณผ ๋™์ผํ•˜๋ฉด break;
    ย ย  ย // location์ด ์—†์œผ๋ฉด break;
    ย ย  ย if (strpos($header,"Location:")!==false){
    ย ย  ย // header ์ •๋ณด์—์„œ location ์ •๋ณด ์ถ”์ถœ
    ย ย  ย $newDomain = substr($header, strpos($header, "Location: ") + 10);
    ย ย  ย // ์ง€๊ธˆ๊ณผ ๋™์ผ ์‹œ break;
    ย ย  ย if($newDomain == $oldDomain || $newDomain == $SITE_DOMAIN){
    ย ย  ย ย ย  ย break;
    ย ย  ย // ๋‹ค๋ฅด๋ฉด site_domain ๋ณ€๊ฒฝ
    ย ย  ย }ย ย  ย else {
    ย ย  ย ย ย  ย ย ย  ย $SITE_DOMAIN = $newDomain;
    ย ย  ย }
    ย ย  ย // location ์ •๋ณด๊ฐ€ ์—†๋‹ค๋ฉด break;
    ย ย  ย } else {
    ย ย  ย ย ย  ย break;
    ย ย  ย }
    ย ย  ย }
    ย ย  ย // loop ํ›„
    ย ย  ย if($newDomain !="" && $newDomain != $oldDomain) {
    ย ย  ย ย ย  ย $cont = "<?PHP\n\$SITE_DOMAIN = \"$SITE_DOMAIN\";";
    ย ย  ย ย ย  ย // ๋„๋ฉ”์ธ ๊ด€๋ฆฌ ํŒŒ์ผ include
    ย ย  ย ย ย  ย $fp = fopen('site_domain.php',"\");
    ย ย  ย ย ย  ย // ํŒŒ์ผ์— ๋‚ด์šฉ ์ถœ๋ ฅ
    ย ย  ย ย ย  ย fwrite($fp, $cont);
    ย ย  ย ย ย  ย // ํŒŒ์ผ ๋‹ซ๊ธฐ
    ย ย  ย ย ย  ย fclose($fp);
    ย ย  ย }
    ย ย  ย }

    ๊ธฐ์กด torr.php ์— ์ถ”๊ฐ€
    function main()
    {
    ย ย  ย global $logger;
    ย ย  ย # ์š”์ฒญ ์ •๋ณด ์ถœ๋ ฅ
    ย ย  ย $logger -> info("torr ๋ฒ„์ „: " . VERSION);
    ย ย  ย $logger -> info("์ƒˆ๋กœ์šด ์š”์ฒญ์ด ๋“ค์–ด์™”์Šต๋‹ˆ๋‹ค. IP=" . $_SERVER['REMOTE_ADDR']);
    ย ย  ย $logger -> info("REQUEST_URI: ย " . $_SERVER['REQUEST_URI']);
    ย ย  ย $logger -> debug($_SERVER);

    ย ย  ย if(isset($_GET['d'])) {
    ย ย  ย ย ย  ย do_download(base64_decode($_GET['d']));
    ย ย  ย }ย ย  ย else {
    ย ย  ย ย ย  ย check_domain();
    ย ย  ย ย ย  ย make_rss();
    ย ย  ย ย ย  ย self_update();
    ย ย  ย }
    ย ย  ย }

    RSS ์ƒ์„ฑ ์ด์ „ ๋„๋ฉ”์ธ ์ฃผ์†Œ ํ™•์ธ ํ›„ ๋ณ€๊ฒฝ ์‹œ ํŒŒ์ผ ์ €์žฅ RSS ์ˆ˜์ง‘

    [/code]

    ๋Œ“๊ธ€๋ชฉ๋ก

    ๋“ฑ๋ก๋œ ๋Œ“๊ธ€์ด ์—†์Šต๋‹ˆ๋‹ค.