Novi server

Posto ovaj blog nikad nije niti zazivio a novi server se nabacio pa mi je najlakse ovu domenu bilo prebaciti i sa njom testirati server. :)

Izasao Virtualbox 3.1.0

Od znacajnijih novosti tu su:
-live migration
-2D video ubrzanje za Windows guest-ove
-Poboljsanja pri manipulisanju snapshoot-a

Changelog: http://www.virtualbox.org/wiki/Changelog

Ja iskreno ne vidim potrebu za placanjem licence parallelsu ili vmware pored solidnog virtualbox-a.

Novi Google Search UI

Ukoliko vas zanima kako ce eventualno u skorije vrijeme googlova trazilica (codename caffeine) izgledati, novi googlov User Interface mozete vidjeti sa jednim malim ‘hackom’ u cemu drugom nego u Chrome-u :)

1. Otvorite http://Google.com/ncr ( ili http://Google.com ako ste u US)
2. Kopirajte sljedeci kod u URL polje:

1
2
3
javascript:void(document.cookie="PREF=ID=20b6e4c2f44943bb:U=
4bf292d46faad806:TM=1249677602:LM=1257919388:S=odm0Ys-53Zu
eXfZG;path=/; domain=.google.com");

3. Pritisnite enter ili strelicu
4. Osvjezite http://Google.com/ncr

Ili ukoliko niste toliko znatizeljni pogledate slike u prilogu.

php display_errors

Svi vec znamo da na production serveru display_errors u php-u treba biti iskljucen zbog sigurnosnih postavki ali ukoliko koristite shared server i za developement i production za development fazu je ipak lakse ukljuciti display_errors nego pratiti u logovima sta se desava. Ovo je primjer za apache sa Pleskom.

Ukoliko vec ne postoji potrebno je napraviti vhosts.conf u /var/www/vhosts/example.com/conf i staviti php_value display_errors on

1
2
3
4
5
<directory "/var/www/vhosts/example.com/httpdocs">
php_value display_errors on
php_admin_flag safe_mode off
php_admin_value open_basedir "/var/www/vhosts/example.com/:/tmp"
</directory>

nakon cega je potrebno reci plesku da je napravljena izmjena na tom vhost-u:

1
/usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=example.com

i resetovati apache

ip.ict.ba toolbox password gen

Random string generator php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Generate a random character string
function rand_str($length = 63, $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890!@#$%^&*()_-[]\,./')
{
    // Length of character list
    $chars_length = (strlen($chars) - 1);

    // Start our string
    $string = $chars{mt_rand(0, $chars_length)};
   
    // Generate random string
    for ($i = 1; $i < $length; $i = strlen($string))
    {
        // Grab a random character from our list
        $r = $chars{mt_rand(0, $chars_length)};
       
        // Make sure the same two characters don't appear next to each other
        if ($r != $string{$i - 1}) $string .=  $r;
    }
   
    // Return the string
    return $string;
}

i za slobodnu upotrebu:
usage curl ip.ict.ba/pass.php/{lenght}/{type}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Maca:~ vlado$ curl ip.ict.ba/pass.php/64/normal
I^2@F0BJKF@V8VfcTlx8HivU#hbuKumIL@kHEciDOdUq1Va&xjBWV3iaUeiGrCfK

Maca:~ vlado$ curl ip.ict.ba/pass.php/64/alpha
qEdPAwJFstJCdBiQqmkKXIElPMsuGmsKdVglqMKIXPZmvpJSXgOknkKPlbSZtHcK

Maca:~ vlado$ curl ip.ict.ba/pass.php/64/alphanum
kqfSruJ7Zz6lDIqB4n5sf0rwa7kwFPzwDakFvisJujJI23PZbBwNE6CIQYkJeWEx

Maca:~ vlado$ curl ip.ict.ba/pass.php/64/num
4253060528682746047384014785262574710790495031961514863542574516

Maca:~ vlado$ curl ip.ict.ba/pass.php/64/safe
-1CwgKkUjDQHkiZws/kmXDhut,XQwAWdV6bBYIA#2Uu)vyMn[Wr5Q(CYbl3(1xGZ

Maca:~ vlado$

ip.ict.ba

Ukoliko radite sa vise servera ili vas jednostavno zanima public ip sa kojom server ili desktop racunar izlazi na internet imate puno online servisa za provjeru vase public adresa ali uglavnom ti servisi prikazuju puno html-a tako da nisu prigodni za jednostavo prikazivanje sa curl-om.

1
2
3
Maca:~ vlado$ curl ip.ict.ba
XXX.XXX.XXX.XXX
Maca:~ vlado$

ili jednostavno otvorite u vasem browseru http://ip.ict.ba

Provjeravanje da li je zahtjev poslan AJAX-om PHP-u

Vrlo jednostavna i korisnia funkcija za provjeravanja da li je zahtjev poslan AJAX-om PHP-u:

1
2
3
function isAjax(){
    return (isset($_SERVER['HTTP_X_REQUESTED_WITH']) &&  ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'));
}

OS X flush dns cache

Posto sam novopeceni Mac korisnik polako se navikavam na OS X pa odatle dolazi i jedan hint za ciscenje cache-a na istom

1
dscacheutil -flushcache

.htaccess zastita direktorija

Odavno nisam morao ‘rucno’ zastiti direktorij na apache-u jer mi je za to sluzio pleskov interface. Medjutim danas sam trebao zastiti jedan folder sa .htaccess-om ali na poddomeni – sa Pleskom to nije moguce… makar sa  sarenim web interface-om. Pa se podsjetimo kako se to radi :)

.htaccess

1
2
3
4
AuthName "Protected Folder"
AuthType Basic
AuthUserFile /var/www/vhosts/yourdomain.com/subdomains/yoursubdomain/httpdocs/.htpasswd
Require valid-user
1
htpasswd -c .htpasswd username

Napravimo brzi Web

Svemocni Google Vam daje savjete kako da napravite brzi Web. Pogledajte http://code.google.com/speed/