Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

12.06.2010, 19:13
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
Перебору пароля от чего?
|
|
|

12.06.2010, 19:18
|
|
Познающий
Регистрация: 09.11.2009
Сообщений: 32
Провел на форуме: 79679
Репутация:
3
|
|
как бы цикл.. начиная с 000 и заканчивая fff
|
|
|

12.06.2010, 19:53
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
PHP код:
<?php
$pass = "ad4";
$pass_length = strlen($pass);
$charset = 'abcdef0123456789';
$charset_length = strlen($charset);
function brute($password,$width, $position, $base_string,$alfa,$len){
for ($i = 0; $i < $len; ++$i) {
if ($position < $width - 1) {
brute($password,$width, $position + 1, $base_string . $alfa[$i],$alfa,$len);
}
if ($base_string . $alfa[$i] == $password) {
echo 'Пароль найден: '.$base_string . $alfa[$i]."\r\n";
exit;
}
}
}
brute($pass,$pass_length, 0, '',$charset,$charset_length);
echo "Пароль не найден(\r\n";
?>
Последний раз редактировалось Pashkela; 12.06.2010 в 19:55..
|
|
|

12.06.2010, 19:55
|
|
Познающий
Регистрация: 28.01.2009
Сообщений: 32
Провел на форуме: 84089
Репутация:
1
|
|
Здравствуйте всем, появился вопрос, как сделать наложение картинки на картинку (своеобразный ватермарк)??
Скрипт аплоада сам создает такое изображение

Если юзер выбирает чекбокс, то надо на превью наложить  чтобы в итоге получить
Вот клиентская часть
Код HTML:
<label><input type="radio" name="watermark_thumb" value="2">Увеличить</label>
Соответсвенно серверная
PHP код:
if ($_POST['watermark_thumb'] == "2") {
# вот с наложением никак не разберусь
# затем создаем превью (это код создания без лупы)
createthumb($imgf,$pictype,$thbf,$tsize,$tsize);
@chmod($thbf,0666);
include("thumbnail.php"); // отвечает за вывод кодов
}
изображение лупы лежит в папке /theme/magnifying_glass.png. Ширина миниатюрки также задается пользователем.
|
|
|

13.06.2010, 05:27
|
|
Постоянный
Регистрация: 26.03.2008
Сообщений: 311
Провел на форуме: 3799424
Репутация:
479
|
|
Сообщение от Axel G
Здравствуйте всем, появился вопрос, как сделать наложение картинки на картинку (своеобразный ватермарк)??
Скрипт аплоада сам создает такое изображение

Если юзер выбирает чекбокс, то надо на превью наложить  чтобы в итоге получить

PHP код:
$image = imagecreatefrompng('http://ipicture.ru/uploads/100611/H51orxCq6S.png');//картинка
$watermark = imagecreatefrompng('http://ipicture.ru/uploads/100611/bSP3J7Q2Aj.png');//лупа
$ro=0;//отступ от правого края
$lo=0;//отступ сверху
$w = imagesx($image);//ширина картинки
$h = imagesy($image);//высота картинки
$ww = imagesx($watermark);//ширина лупы
$wh = imagesy($watermark);//высота лупы
imagecopy($image, $watermark, $w-$ww-$ro, $h-$wh-$lo, 0, 0, $ww, $wh);//копируем
#####вывод#########
header('Content-type: image/png');
imagepng($image);
#####/вывод#########
imagedestroy($image);
imagedestroy($watermark);
или через функцию , с поддержкой "multiextentions"
PHP код:
function watermark($src,$outtype,$wt,$x_offset=0,$y_offset=0){
switch (strtolower(substr(strrchr($src,'.'),1))) {
case 'gif':$image=imagecreatefromgif($src);break;
case 'jpg':$image=imagecreatefromjpeg($src);break;
case 'jpeg':$image=imagecreatefromjpeg($src);break;
case 'png':$image=imagecreatefrompng($src);break;
}
switch (strtolower(substr(strrchr($wt,'.'),1))) {
case 'gif':$watermark=imagecreatefromgif($wt);break;
case 'jpg':$watermark=imagecreatefromjpeg($wt);break;
case 'jpeg':$watermark=imagecreatefromjpeg($wt);break;
case 'png':$watermark=imagecreatefrompng($wt);break;
}
$ro=$x_offset;//отступ от правого края
$lo=$y_offset;//отступ сверху
$w=imagesx($image);//ширина картинки
$h=imagesy($image);//высота картинки
$ww=imagesx($watermark);//ширина лупы
$wh=imagesy($watermark);//высота лупы
imagecopy($image, $watermark, $w-$ww-$ro, $h-$wh-$lo, 0, 0, $ww, $wh);//копируем
header('Content-type: image/'.strtolower($outtype));
switch (strtolower($outtype)) {
case "jpg":imagejpeg($image,null,100);break;
case "jpeg":imagejpeg($image,null,100);break;
case "gif":imagegif($image);break;
case "png":imagepng($image);break;
}
imagedestroy($image);
imagedestroy($watermark);
}
watermark('http://ipicture.ru/uploads/100611/H51orxCq6S.png','png','http://ipicture.ru/uploads/100611/bSP3J7Q2Aj.png',0,0);
Последний раз редактировалось #Wolf#; 13.06.2010 в 09:42..
|
|
|

13.06.2010, 22:24
|
|
Познающий
Регистрация: 28.01.2009
Сообщений: 32
Провел на форуме: 84089
Репутация:
1
|
|
Уфф, что-то я в конец запутался, подогнать никак не получается = (
Выкладываю весь исходный код скрипта [update].
PHP код:
<?php
/*
=======================================================================
| Author: Axel G (14.06.2010)
|----------------------------------------------------------------------
| Special thanks to: Chaak, #Wolf#, wildshaman, roxblnfk, .::f-duck::.
|----------------------------------------------------------------------
| PHP: 5
|----------------------------------------------------------------------
| Coding Standard: PEAR
=======================================================================
*/
function createThumb($name, $sourcetype, $filename, $new_w, $new_h)
{
if (($sourcetype==".jpg") || ($sourcetype==".jpeg")) {
$src_img=imagecreatefromjpeg($name);
} if ($sourcetype==".png") {
$src_img=imagecreatefrompng($name);
} if ($sourcetype==".gif") {
$src_img=imagecreatefromgif($name);
}
$thumb_q = $_POST['quality_thumb'];
$old_x = imageSX($src_img);
$old_y = imageSY($src_img);
if ($old_x > $old_y) {
$thumb_w = $new_w;
$thumb_h = $old_y*($new_h/$old_x);
}
if ($old_x < $old_y) {
$thumb_w = $old_x*($new_w/$old_y);
$thumb_h = $new_h;
}
if ($old_x == $old_y) {
$thumb_w = $new_w;
$thumb_h = $new_h;
}
$dst_img = ImageCreateTrueColor($thumb_w,$thumb_h);
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
if (($sourcetype==".jpg") || ($sourcetype==".jpeg")) {
imagejpeg($dst_img,$filename,$thumb_q);
} elseif ($sourcetype==".png") {
imagepng($dst_img,$filename);
} elseif ($sourcetype==".gif") {
imagegif($dst_img,$filename);
}
imagedestroy($dst_img);
imagedestroy($src_img);
}
// скрипт загрузки
include("config.php");
include("header.php");
if (isset($_POST['thumb'])) $tsize=intval($_POST['thumb']);
else exit;
if ($max_th<$tsize || $min_th>$tsize) {
echo "<p align=center><font size=4 color=red>Превью должно быть меньше $max_th, но больше $min_th пикселей !</font></p>";
include("footer.php");
exit;
}
if (!isset($_FILES['userfile'])) exit;
if (!is_uploaded_file($_FILES['userfile']['tmp_name'])) exit;
if ($_FILES['userfile']['size']>$max_size) {
echo "<p align=center>Файл слишком большой!</p>";
exit;
}
$pictype = "";
switch (strtolower($_FILES['userfile']['type'])) {
case "image/jpeg" :
$pictype = ".jpg";
break;
case "image/pjpeg":
$pictype = ".jpg";
break;
case "image/gif" :
$pictype = ".gif";
break;
case "image/png" :
$pictype = ".png";
break;
case "image/x-png":
$pictype = ".png";
break;
default :
$pictype = "";
break;
}
if ($pictype != "") {
do {
$uniq=md5(uniqid(rand(),1));
$srcfile=$path.$uniq.$pictype;
} while(file_exists($srcfile));
$res = copy($_FILES['userfile']['tmp_name'], $srcfile);
if (!$res) {
echo "<p align=center>Ошибка копирования файла на сервер!</p>";
exit;
}
@chmod($srcfile,0666);
$imgf = $path . $uniq . $pictype;
$thbf = $tpath . $uniq . $pictype;
$urlf = $domain . $path . $uniq . $pictype;
/* ###########################################################################################################
// Инфа о картинке Start
$size = getimagesize($urlf); //функция возвращает размер картинки для тега img, т.е [0] - ширина, [1] - высота, [2] - тип изображения, [3] - [0] + [1]
$width = $size[0];
$height = $size[1];
$type = $size['mime'];
function getfs($urlf){
$headers = get_headers($urlf, 1);
return round(((int)$headers['Content-Length']/1024), 2); //размер в килобайтах
}
$weight = getfs($urlf);
echo "$width x $height ($weight KB)";
}
// Инфа о картинке End
// Start Zoom
$image = imagecreatefrompng($dst_img); // превью
$watermark = imagecreatefrompng("theme/magnifying_glass.png"); // лупа
$ro=0; //отступ от правого края
$lo=0; //отступ сверху
$w = imagesx($image); //ширина картинки
$h = imagesy($image); //высота картинки
$ww = imagesx($watermark); //ширина лупы
$wh = imagesy($watermark); //высота лупы
imagecopy($image, $watermark, $w-$ww-$ro, $h-$wh-$lo, 0, 0, $ww, $wh); // с наложением все понятно = )
header('Content-type: image/png'); // (отравка хттп-заголовка) имеет ли он смысл в моем коде??
imagepng($image); // вывод, все понятно, т.е. мне надо убрать imagepng и вместо imagecopy imagecopyresampled поставить, ведь так??
imagedestroy($image); // чистим память (превью)
imagedestroy($watermark); // чистим память (лупа)
// End Zoom
########################################################################################################### */
if ($_POST['create_thumb'] == "1") { // продолжаем создание миниатюры
// накладываем надпись
if ($_POST['watermark_thumb'] == "1") { // инфа
}
if ($_POST['watermark_thumb'] == "2") { // лупа
}
if ($_POST['watermark_thumb'] == "3") { // без надписи
createThumb($imgf, $pictype, $thbf, $tsize, $tsize);
@chmod($thbf,0666);
include("thumbnail.php");
}
} else { // юзер снял галку, значит
include("picture.php");
}
// если неверный формат файла
} else {
echo "<p align=center><font size=4 color=red>Формат файла не распознан!</font></p>";
include("footer.php");
exit;
}
include("footer.php");
?>
Последний раз редактировалось Axel G; 16.06.2010 в 01:55..
|
|
|

13.06.2010, 22:29
|
|
Участник форума
Регистрация: 30.05.2009
Сообщений: 139
Провел на форуме: 620261
Репутация:
30
|
|
Axel G,если я тебя правильно понял,то:
Создаешь пустой бокс,чуть больше картинки.
Потом записываешь в бокс 1 картинку,сверху еще 1,но с смещением.
м?
PHP код:
if ($sourcetype==".jpg" || $sourcetype==".jpeg"){
$src_img=imagecreatefromjpeg($name);
}
if ($sourcetype==".png"){
$src_img=imagecreatefrompng($name);
}
if ($sourcetype==".gif"){
$src_img=imagecreatefromgif($name);
}
Про elseif слышал?
PHP код:
if ($sourcetype==".jpg" || $sourcetype==".jpeg") { imagejpeg($dst_img,$filename,$thumb_q); }
elseif ($sourcetype==".png") { imagepng($dst_img,$filename); }
elseif ($sourcetype==".gif") { imagegif($dst_img,$filename); }
Слышал,но это дурной тон.
Надо ограничивать все это дело в {}
False:
PHP код:
$image = imagecreatefrompng("$dst_img");
True:
PHP код:
$image = imagecreatefriopmg($dst_img);
Короче,жутки у тебя говнокод.
Последний раз редактировалось .::f-duck::.; 13.06.2010 в 22:34..
|
|
|

13.06.2010, 23:25
|
|
Познающий
Регистрация: 28.01.2009
Сообщений: 32
Провел на форуме: 84089
Репутация:
1
|
|
.::f-duck::., это было в основе кода (из одного скрипта взял, он тупо создавал превьюшки и все) хотя сейчас вроде работает безотказно = ) А можешь хорошим манерам по коду подучить, я как могу, так и мыкаюсь, можно сказать практикуюсь сразу же. elseif - это да моя самопись уже. Спасиб те за критику, для меня сейчас это очень важно. И, соглашусь, с тем что я неопытный хомячок = )
А сам скрипт пишу для себя, стало интересно разобраться как это все работает, да и к тому же неплохая практика, соорудить персональный фотохостинг, вещь незаменимая оказывается, а доверия нынешним уж никакого нет. А так уже много чего сделал, осталось с превьюшками разобраться до конца, и еще бы хотелось такую штуку как на айпикчер, снизу превью инфа отображается, только оригинального изображения, а не миниатюрки = )
Ввиду всего, хотел бы вам всем сказать большое спасибо, что помогаете разобраться новичку, а тем более резко критикуете.
Последний раз редактировалось Axel G; 13.06.2010 в 23:37..
|
|
|

14.06.2010, 11:13
|
|
Участник форума
Регистрация: 30.05.2009
Сообщений: 139
Провел на форуме: 620261
Репутация:
30
|
|
Axel G,есть несколько стандартов:
http://pear.php.net/manual/en/standards.php
http://framework.zend.com/manual/en/coding-standard.html
http://www.dagbladet.no/development/phpcodingstandard/
http://www.evolt.org/article/PHP_coding_guidelines/18/60247/
Большинство выбирает или Пеар или Зенд.
Тут самому решать.
|
|
|

14.06.2010, 13:59
|
|
Познающий
Регистрация: 16.04.2008
Сообщений: 88
Провел на форуме: 264305
Репутация:
30
|
|
помогите плиз с парочкой вопросов:
1. как сделать отдачу браузеру данных по мере работы скрипта ? [например так работает сервис http://scan.0day.in:8080 - скрипт работает n минут, но новые данные в окне постоянно появляются]
2. как сделать отмену уже "выведенных" данных ? [допустим у меня инклуд в логах, которые имеют размер 10 метров. каким кодом/способом можно отменить вывод этих данных [что-то по типу очистки буфера] ? ]
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|