<?php function gen_pw($lenght){ $alphabet = range('a','z'); $up_alphabet = range('A','Z'); $digits = range('1','9'); $full_array = array_merge($alphabet,$up_alphabet,$digits); $password = ''; for($i='0'; $i < $lenght; $i++){ $entrie = array_rand($full_array); $password .= $full_array[$entrie]; } return $password; } $pw = gen_pw('8'); echo $pw; ?>
PHP язык не такой многословный и извилистый как Perl, но тоже любит поболтать. Сегодня поговорим о работе с директориями. В PHP существует для этого 3 стандартных способа.
Читать дальше »
Заголовок X-Powerd-By в ответе веб сервера показывает не совсем безопасную информацию, а именно полную версию PHP.
Прячется он очень просто:
достаточно изменить следующее в php.ini
; Decides whether PHP may expose the fact that it is installed on the server ; (e.g. by adding its signature to the Web server header). It is no security ; threat in any way, but it makes it possible to determine whether you use PHP ; on your server or not. expose_php = On
на
expose_php = Off
После этого, если используете mod_php, сделайте reload веб серверу.
Случается, что нужно распаковать залитый на веб-сервер по FTP архив, если делать это с десктопа, то процедура получается аналогичной заливке распакованных файлов. Чтобы решить эту проблему дарю вам этот PHP скрипт. Для его работы на сервере должен стоять unzip, и разрешено использование встроенной функции exec (скрипт это всё проверит).
Чтобы воспользоваться им, размещаем скрипт, например с именем unzip.php, в той же директории где расположен архив или даже несколько архивов
<?php if(!function_exists('exec')) die('exec function is not available on this server'); if(!$unzip_command = exec('/usr/bin/which unzip')) die(); if(!$dir_handle = opendir(getcwd())) die ('Can\'t open dir'); while(false != ($files = readdir($dir_handle))){ if($files != '.' && $files != '..'){ if(preg_match('/.\.zip/',$files)){ exec("$unzip_command $files",$output); echo '<b>Unzipping ',$files,' </b><br>'; foreach($output as $unzipped_files) echo "$unzipped_files",'<span style="color: green"> done!</span><br>'; } } } ?>
Скрипт на PHP для тех, кто часто забывает пароль администратора в панель администрирования CMS Joomla. Просто залейте его на сервер в директорию /administrator/ (например с именем pw.php) и откройте в браузере http://example.com/administrator/pw.php. Новый пароль придет на электронную почту администратора Joomla
Читать дальше »
Если у Вас появится задача найти файл в заданном каталоге на сервере через броузер, можете воспользоваться этой шпаргалкой
1 2 3 4 5 6 7 8 9 10 11 | <?php $dir = '/opt/data/srv/www/php'; $handle = opendir($dir); if($handle){ while(true == ($dir = readdir($handle))){ if($dir!='.' && $dir!='..') f(strpos($dir, $_GET['search']) == true) echo $dir,'<br>',"n"; } } ?> |
$_GET['search'] – может содержать любой символ из имени файла
В PHP , как и в многих других языках, есть замечательная возможность создавать динамические функции. Найти применение этому, я надеюсь, Вы сможете… :)