Memaparkan catatan dengan label HTML. Papar semua catatan
Memaparkan catatan dengan label HTML. Papar semua catatan

Khamis, Disember 19, 2013

PHP : Cari lirik lagu

<html>
<head>
<title>SongLyric Searcher by 1.13.19.Hacker</title>
<link type="text/css" rel="stylesheet" href="http://1-13-19-hacker.eu.pn/Resources/css/style.css" />
</head>
<body>
<center><h1>SongLyric Searcher</h1>by <a href="http://www.facebook.com/1.13.19.Hacker" target="_blank">1.13.19.Hacker</a><form method="POST" action="" id="lirik_lagu" name="lirik_lagu" class="form-wrapper"><br />
<table border="0"><tr><td>Artist</td><td><input type="text" name="artis" value="<?php if(isset($_POST['artis'])){ echo htmlentities($_POST['artis']); } else { echo '';} ?>" /></td></tr>
<tr><td>Song Title</td><td><input type="text" name="judul" value="<?php if(isset($_POST['judul'])){ echo htmlentities($_POST['judul']); } else { echo '';} ?>" /></td></tr>
<tr><td colspan="2"><input type="submit" name="submit" id="submit" value="Search" /></td></tr></table></form><br />
<?php
function get_string_between($string, $start, $end){
    $string = " ".$string;
    $ini = strpos($string,$start);
    if ($ini == 0) return "";
    $ini += strlen($start);
    $len = strpos($string,$end,$ini) - $ini;
    return substr($string,$ini,$len);
}

if($_POST['submit']=="Search"){
    if(isset($_POST['artis']) && !empty($_POST['artis']) && isset($_POST['judul']) && !empty($_POST['judul'])){
        $source = file_get_contents("http://www.songlyrics.com/".str_replace(" ", "-",$_POST['artis'])."/".str_replace(" ", "-",$_POST['judul'])."-lyrics/");
        if (!empty($source)) {
            $output = get_string_between($source, '<p id="songLyricsDiv" ondragstart="return false;" onselectstart="return false;" oncontextmenu="return false;" class="songLyricsV14">','</p>');
            //$output = str_replace("<br />","",$output);
            if(strpos($output, 'Sorry, we have no') !== FALSE){$output = "<script>alert('Lyric not found!')</script>";}
            echo ($output);
        }
        else{
            echo "<script>alert('Unable to grab data')</script>";
        }
    }
    else{
        echo "<script>alert('Please fill all textbox!')</script>";
    }
}
?></center>
</body></html> 
12-12-2013 05:49 AM 
* sumber : Aku pun lupa mana aku copy..haha..tuih

Selasa, Disember 10, 2013

PHP+JavaScript : Echo Alert box

<?php
echo '<script type="text/javascript">alert("Data: ' . $var . '");</script>';
?>

Isnin, Disember 09, 2013

JavaScript + HTML : Calendar picker

Memang menjadi masalah kalau bermain dengan masa. Paling asas ialah untuk petik tarikh. Kongsep HCI ialah untuk memudahkan pengguna. Jadi kalendar perlulah ada untuk memudahkan pengguna memilih tarikh. HTML5 ada fungsi ini. Tapi buat masa sekarang, peluncur / browser kebanyakkan masih belum aktif menggunakan HTML5. Javasript adalah alternative terbaik.

1. Download fail javascript dan gambar berkaitan :
http://www.rainforestnet.com/datetimepicker/download/sample.zip
2. Unpack dan masukkan pada folder halaman anda.

3. Link javascript tersebut dengan fail anda
<script src="datetimepicker_css.js"></script>
* (rujuk kod sumber contoh dalam folder yang korang unpack tadi kalau tak faham)

4. Melalui form tertentu. Invoke fungsi javascript melalui teknik onclick(), sebagai contoh:
<input type="Text" name="mulacuti" id="mulacuti" maxlength="25" size="25"/>
<img src="images/cal.gif" onclick="javascript:NewCssCal ('mulacuti','ddMMyyyy','','','','','future')" style="cursor:pointer"/>

Nota: pastikan ID pada input anda adalah sama dengan parameter di dalam NewCssCal. Untuk contoh di atas, ID = mulacuti dan parameter = mulacuti. Kalau tak sama, memang tak menjadilah jawabnya beb..

Terdapat pelbagai cara untuk anda manipulasikan masa dan tarikh. Sila rujuk:
http://www.rainforestnet.com/datetimepicker/datetimepicker-demo1.htm

Sabtu, Disember 07, 2013

HTML : Input (form) terima nilai nombor sahaja

<input type="text" name="nokadpengenalan" maxlength='12'size="60" onkeypress='return event.charCode >= 48 && event.charCode <= 57' />

Ahad, November 24, 2013

LAMPP : Permision denied "/op/lampp/htdoc" - FIXED!

Bila pasang XAMPP dalam linux, semua web files akan sumbat dalam folder htdocs. Tapi masalahnya. Asyik kena recursive chmod je folder website (htdocs) dan sangat leceh bila nak buat kerja (sangat busy beb!). Jadi, cara mudah.. kita letakkan bawah user dan group komputer kita sendiri. Tak faham? Ok. Contoh lah web saya tu dalam folder "pinktube" (bukan redtube ok?), dan saya nak buat index.php dalam tu.
$ touch /opt/lampp/htdocs/pinktube/index.php
touch: cannot touch ‘/opt/lampp/htdocs/pinktube/index.php’: Permission denied
Nampak tak masalah kat atas? Bayangkan ada banyak fail dan folder. Nak chmod 755 -R pun rasa malas klau ada banyak folder lain dan kena kerap kali buat macamni. Tu belum masuk lagi kes orang yang tak tahu guna recursive chmod. Mesti kojol kalau dia chmod fail satu per satu..kah..kah..

Penyelesaian Mudah :
===================
1. Kita kenal pasti user dan group:
$ who am i
Contoh output:
syasha      pts/1        2023-14-54 01:44 (:0)
* amik output yang depan sekali untuk kenal pasti user dan group , sebagai contoh diatas ialah "syasha"

2. Set direktori /op/lampp/htdocs/ tersebut dengan permision dari output user dan group di atas
$ sudo chown -R username:username /opt/lampp/htdocs
Klu ikot contoh aku, username tu perlulah ganti dengan syasha..bergantung pada komputer korang la.

3. Edit fail httpd.conf
$ sudo nano /opt/lampp/etc/httpd.conf
Cari maklumat bawah bahagian <IfModule unixd_module>
User deamon
Group deamon
Ganti deamon tu dengan user dan group anda sendiri. Simpan dan restart lampp anda. Ok selesai.. try la buat fail atau folder, dah takde masalah lagi.

Selamat mencuba!

Selasa, Oktober 29, 2013

Rail Fence Cipher (HTML + Javascript)

<html>   
<script type="text/javascript">
function Encrypt() {
    plaintext = document.getElementById("p").value.toLowerCase().replace(/[^a-z]/g, "");  
    if(plaintext.length < 1){ alert("please enter some plaintext"); return; }    
    var key = parseInt(document.getElementById("key").value);
    if(key > Math.floor(2*(plaintext.length-1))){ alert("key is too large for the plaintext length."); return; }  
    ciphertext = "";
    for(line=0; line<key-1; line++){
       skip=2*(key-line-1);   j=0;
        for(i=line; i<plaintext.length;){
            ciphertext += plaintext.charAt(i);
            if((line==0) || (j%2 == 0)) i+=skip;
           else i+=2*(key-1) - skip;  
           j++;          
        }
    }
    for(i=line; i<plaintext.length; i+=2*(key-1)) ciphertext += plaintext.charAt(i);
    document.getElementById("c").value = ciphertext;
}

function Decrypt(f) {
    ciphertext = document.getElementById("c").value.toLowerCase().replace(/[^a-z]/g, "");  
    if(ciphertext.length < 1){ alert("please enter some ciphertext (letters only)"); return; }    
    var key = parseInt(document.getElementById("key").value);
    if(key > Math.floor(2*(ciphertext.length-1))){ alert("please enter 1 - 22."); return; }      
    pt = new Array(ciphertext.length);   k=0;
    for(line=0; line<key-1; line++){
       skip=2*(key-line-1);  j=0;
        for(i=line; i<ciphertext.length;){
            pt[i] = ciphertext.charAt(k++);
            if((line==0) || (j%2 == 0)) i+=skip;
           else i+=2*(key-1) - skip;  
           j++;        
        }
    }
    for(i=line; i<ciphertext.length; i+=2*(key-1)) pt[i] = ciphertext.charAt(k++);
    document.getElementById("p").value = pt.join("");
}
</script>

<h2>Rail Fence Cipher </h2>
<p>Enter the word that you want to ENCRYPT, then put "NUMBER" in a key form to make how many rail you need</p>

Plaintext<BR>
<TEXTAREA id="p" name="p" rows="4" cols="50">attack at dawn</TEXTAREA>
<P>line   = <INPUT id="key" name="key" size="5" value=" " type="text"></P>
<P><INPUT name="btnEn" value="v Encrypt v" onclick="Encrypt()" type="button"> 
<INPUT name="btnDe" value="^ Decrypt ^" onclick="Decrypt()" type="button"></P>
<P>Ciphertext<BR><TEXTAREA id="c" name="c" rows="4" cols="50"></TEXTAREA> </P>

    </body>
</html>

Isnin, Ogos 05, 2013

Regex : URL FTP, HTTP & HTTPS

(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?

Sabtu, Ogos 03, 2013

PHP : Secure session

<?php
session_start(); 
$_SESSION['sid'] = md5(time());
$sid = $_SESSION['sid'];
echo $sid;
?>

.htaccess : Mengurangkan bandwith dengan memampatkan data

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

.htacces : Mengelak directory listing Apache

Options -Indexes

.htaccess : Redirect web pada custom error pages

ErrorDocument 400 /error/badreq.html
ErrorDocument 401 /error/autherror.html
ErrorDocument 403 /error/forbidden.html
ErrorDocument 404 /error/notfound.html
ErrorDocument 500 /error/serverr.html

.htaccess : Buang WWW pada URL

RewriteEngine On
RewriteCond %{HTTP_HOST} !^mywebsite.com$ [NC]
RewriteRule ^(.*)$ http://mywebsite.com/$1 [L,R=301]

.htaccess : Buang extensi fail pada URL (Contoh : *.html)

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html

Ahad, Julai 28, 2013

XSS : http://creditbureau.bnm.gov.my (Bank Negara Malaysia)

http://creditbureau.bnm.gov.my

Selasa, Julai 02, 2013

Linux: Tutorial Cara Memasang LAMPP (Linux Apache Mysql Php & Perl)

Assalamualaikum & salam sejahtera, Hari ni aku belajar cara nak pasang LAMPP (Linux Apache Mysql Php & Perl) dalam komputer aku yang menggunakan linux Mint 15. Terasa agak jakun, sebab dah lama aku tak guna linux sebenarnya. Walaupun ada kata lagi bagus pasang pakej secara berasingan dan mudah untuk mod dikemudian hari. Aku rasa dan lebih selesa dengan menggunakan LAMPP sahaja. Al-maklum, aku bukan nak pacak pelayan (server) pun. Guna hanya untuk belajar pengaturcaraan PHP dan buat kerja yang kadang-kadang ada. Haha.. Aku tunjukkan cara pemasangan berasaskan distro debian. Sebab aku guna aptitude, klu distro based redhat tu. Pepandailah ubaha pakai yum. Ok, mari kita mula belajar cara nak pasang LAMPP.

1 - Sekiranya anda menggunakan sistem operasi 64 bit, korang kena pasang dulu depencies ni. Kalau menggunakan sistem operasi 32 bit, sila abaikan langkah 1 ni.
sudo apt-get install ia32-libs

2 - Muat-turun pakej LAMPP ke dalam komputer anda daripada halaman SourceForge. Tapi kalau pandai tahap mentaliti kelas pertama, boleh guna wget je
wget http://jaist.dl.sourceforge.net/project/xampp/XAMPP%20Linux/1.8.2/xampp-linux-1.8.2-0-installer.run

3 - Sekarang tukar mod kepada root
sudo -s

4 - chmod fail tersebut dahulu sebelum guna
chmod +x nama_fail_lampp.run

5 - Apa lagi tunggu. Boleh la execute fail tu
./nama_fail_lampp.run

Bila dah masuk bahagian ni, cuma tinggal klik butang "next-next-install" sahaja. LAMPP akan dipasang di /opt/lampp/lampp. Maknanya pepandailah korang godek direktori ni.

Tambahan :
Mulai LAMPP versi 1.8.2 Beta 2, telah didatangkan sekali dengan GUI manager. Ketikkan arahan dibawah untuk menggunakannya.
sudo /opt/lampp/manager-linux.run

Sekian, terima kasih ~

Selasa, Jun 04, 2013

Mencetak hanya sebahagian kandungan HTML menggunakan JavaScript

<html>
<body>
    <script type="text/javascript">
        function printDiv(divName) {
             var printContents = document.getElementById(divName).innerHTML;
             var originalContents = document.body.innerHTML;
 
             document.body.innerHTML = printContents;
 
             window.print();
 
             document.body.innerHTML = originalContents;
        }
    </script>
 
    <div id="printableArea">
        <h1>Kandungan 1</h1>
        <p>kandungan ini akan dicetak ke printer menggunakan javascript.</p>
    </div>
 
    <h1>Kandungan 2</h1>
    <p>kandungan ini TIDAK akan dicetak ke printer.</p>
 
    <input type="button" onclick="printDiv('printableArea')" value="Cetak" />
</body>
</html>

Sumber :
https://www.facebook.com/groups/BIT.Studies.UTHM/doc/513663958697734/