ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #15951  
Старый 09.05.2010, 22:19
restart_05
Участник форума
Регистрация: 05.05.2009
Сообщений: 126
Провел на форуме:
226966

Репутация: 8
По умолчанию

Поправил Спасибо всем!
 
Ответить с цитированием

  #15952  
Старый 09.05.2010, 23:12
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

SeNaP Вообще-то второй вариант не выведет никогда строку хелло. Переменная $a не может быть больше либо равна 1 и при этом выполнится !isset()
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
 
Ответить с цитированием

  #15953  
Старый 10.05.2010, 02:56
roxblnfk
Познающий
Регистрация: 07.02.2010
Сообщений: 70
Провел на форуме:
217996

Репутация: 56
Отправить сообщение для roxblnfk с помощью ICQ
Wink

ну вы даёте

> Есть таблица со строкой name. В ней находятся числа через запятую 1,5,54,234 и т.д. Как средствами php можно удалить число 54 из данной строки.

m0Hze, кодом
PHP код:
$return str_replace($need.',','',$str); 
ты можешь удалить что надо + обрезать похожее на него, например в строке $str='1,2,3,12,13,23'; надо удалить $need='2';
В итоге будет 1,3,113,23 (откуда тут 113 оО? и почему вместо пяти чисел тут их четыре..)
Ну и, как было замечено, число в конце строки не удаляет.

WNZRS, ты вобще извращенец перевести строку в массив уже другая методика,
но зачем перебирать массив и выравнивать ключи вручную, когда есть стандарные функции?
зачем делать чтото типа
$array[$i+$minus] = $array[$i]; , если после всех операций по удалению можно заюзать, например, array_values() и взять индексный массив
(только зачем это надо, если implode() работает с ассоциативными массивами?)

Можно исправить скрипт m0Hze, например, изменив так:
было:
PHP код:
 $return str_replace($need.',','',$str); 
стало:
PHP код:
$return substr(str_replace(','.$need.',',',',','.$str.','),1,-1); 
(но в учёт того, что я не знаю, как работает str_replace на низком уровне, а разбираться лень, то для гарантии того, что будут вырезаны ВСЕ требуемые числа, даже записанные подряд, можно использовать функцию два раза сразу)
PHP код:
$return substr(str_replace(','.$need.',',',',str_replace(','.$need.',',',',','.$str.',')),1,-1); 
(тут в кавычках 2 пробела сами появляются, их убить надо )
или
PHP код:
$return substr(str_replace(array(','.$need.',',','.$need.','),',',','.$str.','),1,-1); 

Последний раз редактировалось roxblnfk; 10.05.2010 в 12:14..
 
Ответить с цитированием

  #15954  
Старый 10.05.2010, 08:19
LStr1ke
Постоянный
Регистрация: 29.07.2009
Сообщений: 400
Провел на форуме:
1455812

Репутация: 150
По умолчанию

А так можно?
PHP код:
<?php
$string 
"1,5,154,32,123,132";
$need "32";
echo 
preg_replace("#(^\d|\,|^)".$need."(\,|^|^\d)#",",",$string);
?>
 
Ответить с цитированием

да вы чё хоть...
  #15955  
Старый 10.05.2010, 13:33
roxblnfk
Познающий
Регистрация: 07.02.2010
Сообщений: 70
Провел на форуме:
217996

Репутация: 56
Отправить сообщение для roxblnfk с помощью ICQ
Arrow да вы чё хоть...

LStr1ke, не знаю, зачем ты полез в регулярки, это же всё медленнее работает.
Но, если следовать твоим суждениям унифицировать алгоритм под любой разделитель, то проще написать в регулярках.
Допустим. Даже не смотря на кривость того, что если разделитель будет не запятой, то при замене числа на его месте появится именно запятая
Признаюсь, я плохо шарю в регулярках, поэтому, если это твой код, задам тебе вопрос:
из твоей регулярки "#(^\d|\,|^)".$need."(\,|^|^\d)#"
что означает |^ во второй скобке? т.е. неэкранированный символ ^ в начале выбора без дальнейших символов.. (в первой скобке такой вариант чудом помогает убить нужное число в начале строки )
в первых скобках у тебя ^\d для чего? возьми строку $string = "132,1,5,154,32,123,32"; и эта последовательность уничтожит 132
В конце строки число 32 твоим алгоритмом не убивается.

На мой взгляд, регулярки надо использовать только тогда, когда без них никак (т.е. можно, но не выгодно ни по времени коддинга ни по производительности)
Вобщем, вот мой вариант, где разделяющие символы - любые, кроме десятичных цифр, и заменено оно будет на левый разделитель от данного числа
PHP код:
echo substr(preg_replace("/(\D)".intval($need)."(\D)/","\${1}",'®'.$string."\n"),1,-1); 
И опять же, функцию надо будет взять не один раз, т.к. строку $string = "1^5^154^32^32^123^132"; полностью от числел 32 она не очистит за 1 раз
(либо править регулярку на подобные нонсенсы, либо брать функцию дважды, а то и трижды вобщем по циклу через while... но это если число более 3х раз подряд в строке, тут проще разбить на массив)
так на строку $string = "32б1^5-154^32 32,32х32 32=32_32!32й123^132ы32"; нужно применить функцию 4 раза

остался ещё вариант перебора строки по байтам, этого ещё ни кто не предложил хотя самый эффективный метод, имхо

Последний раз редактировалось roxblnfk; 10.05.2010 в 13:37..
 
Ответить с цитированием

  #15956  
Старый 10.05.2010, 15:45
AtomoS
Познающий
Регистрация: 17.02.2010
Сообщений: 64
Провел на форуме:
132243

Репутация: 1
По умолчанию

существует алгоритм, который добавляет в переменную данные:
Цитата:
$error .= 'Вы уже полчили бонус за голос за '.$time.'<br/>';
после добавление всё это дело выводится через echo и получается следушая картина:
Цитата:
Вы уже полчили бонус за голос за 2010-05-10
Вы уже полчили бонус за голос за 2010-05-09
Вы уже полчили бонус за голос за 2010-05-08
а теперь вопрос как мне вывести только 1ую надпись?
Цитата:
Вы уже полчили бонус за голос за 2010-05-10
 
Ответить с цитированием

  #15957  
Старый 10.05.2010, 15:54
zavra
Участник форума
Регистрация: 12.03.2008
Сообщений: 159
Провел на форуме:
912928

Репутация: 137
Отправить сообщение для zavra с помощью ICQ
По умолчанию

привет! мне нужно сделать, чтобы когда человек заходил на страницу, отправлялся бы запрос на другой сервер, и действие на том сервере приосходило бы от его имени. например, в случае с ГЕТом, можно добавить ссылку на изображение вида "vk.com/change_settings.php?name=lol". можно как-то так же просто сделать это через ПОСТ, будет ли CURL работать в данном случае (ведь вроде как тогда запрос будет идти от сервера, а не от пользователя)?
 
Ответить с цитированием

  #15958  
Старый 10.05.2010, 15:58
wildshaman
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме:
12942062

Репутация: 1550


Отправить сообщение для wildshaman с помощью ICQ
По умолчанию

Курл не пройдет.
Обычный гет тоже не пройдет, везде нужны хеши.
Надо иметь пассивную XSS и написать скрипт, который сам будет выдирать хеш, подставлять и делать запрос - все через пассивку.
 
Ответить с цитированием

  #15959  
Старый 10.05.2010, 16:32
zavra
Участник форума
Регистрация: 12.03.2008
Сообщений: 159
Провел на форуме:
912928

Репутация: 137
Отправить сообщение для zavra с помощью ICQ
По умолчанию

там нету хэша, я не про контакт, просто для примера.
есть вариант сделать флешку, впринципе просто, но слишком палевно
 
Ответить с цитированием

  #15960  
Старый 10.05.2010, 16:39
Kusto
Moderator - Level 7
Регистрация: 04.02.2007
Сообщений: 554
Провел на форуме:
7518056

Репутация: 1089


Отправить сообщение для Kusto с помощью ICQ
По умолчанию

Цитата:
Сообщение от zavra  
там нету хэша, я не про контакт, просто для примера.
есть вариант сделать флешку, впринципе просто, но слишком палевно
блин ты спрашиваеш про обыкновенное csrf здесьб почитай что умные люди пишут)))) http://www.inattack.ru/article/552.html
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Delphi, .NET, Asm 5420 17.06.2010 13:33
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ