Snoopik

Snoopik
Рейтинг
29
Регистрация
20.02.2009
banshee(oleg):
Внесу свою лепту, так как вы написали, Snoopik в своем первом примере, категорически нельзя делать:


Необрабатываемые данные в 'logi' приведут к mysql инъекции.
(напр., если в logi передать "существующее_имя_пользователя' UNION select * from users where '1'='1"
то можно минуя авторизацию войти под 'существующее_имя_пользователя'. :)

Пускай найдут путь к файл, у меня через мод_реврайт 🍻

neolord:
А можт у вас не пароль а логин не совпадает. например, из за присутствия в логине каких нибудь кавычек или апострофоф. Или слешей

Уже 2 раза выше сказали,что поправили, было это из-за поля пароль в мускуле.

dayw:
А где в указанном коде НЕТ md5?

Не заметил

KosoyRoman:

<?php

$user = trim ( strip_tags ( $_POST ['logi'] ) );
$pass = trim ( strip_tags ( $_POST ['pass'] ) );

$query = "SELECT * FROM users WHERE login = '" . $user . "' LIMIT 1";

$result = mysql_query ( $query );
$row = @mysql_fetch_array ( $result );
$num = mysql_num_rows ( $result );

if ($num != '0') {
if ($row ['pass'] != $pass) {
echo 'Извините, но пароль не верный!.';
exit ();
} else {
echo 'В рот мне ноги, мне далось авторизоваться =).';
exit ();
}
} else {
echo 'Извините, но такого пользователя не существует.';
exit ();
}

?>




вот так надо, только поля базы поставь свои

дак мне нужно чтобы с md5 было

S0meT1me:
1. $pas = $_POST['pass']; -- уберите, она не нужна (не ошибка, просто лишняя строка)
2. код вроде правильный, посмотрите имена инпутов, может они не совпадают с именами постовых переменных. попробуйте просто вывести что возвращает форма конструкцией print_r($_POST);

Всё проверил..все имена правильные

print_r($_POST);

Создаётся массив..а там всё правильно..не понимаю..SOS

nikitian:

<select name="male" onChange="document.getElementById('im').innerHTML='<img src=\"/image'+this.options[this.selectedIndex].value+'.jpg\" />';">
<option value="0">-- Выбрать --</option>
<option value="1">Мужской</option>
<option value="2">Женский</option>
</select><span id="im"></span>

/image0.jpg - Изображение пустоты
/image1.jpg - Изображение мужыка
/image2.jpg - изображение Девушки

Спасибо большое=)

bezludny:
Тем не менее, твоя конструкция не является решением.

Ну тогда так?


if ($encode == "windows-1251")
{
$html = iconv("UTF-8", "windows-1251", $html)
}
if ($encode == "utf-8")
{
$html = iconv("windows-1251", "UTF-8", $html)
}
DenIT:
А я и не говорил, что их нужно все убрать.
$html .= str_replace("utf-8", "windows-1251", $html);

$html .= str_replace("UTF-8", "windows-1251", $html);

Этими двумя строчками вы ПРИСОЕДИНЯЕТЕ к уже существующему тексту его же, только после строковой замены. Причем 2 раза. Поэтому в переменной хранится тройное содержимое.

Я не просто так посоветовал поменять код - мало того, что вы не понимаете, о чем он, так и его качество удручает. Для таких вещей есть str_ireplace, или приведение данных к единому регистру на крайний случай. А работа таких скриптов может быть весьма забавной, я не возьмусь судить о ней без ручной отладки:)

Да,спасибо.

Ещё тут нужно точку убрать.


$pattern = '/<(.*?)href=\"(?!http)(.*?)\"(.*?)>/ims';
$replacement = '<$1href="'.$url.'$2"$3>';
$str = $html;
$html .= preg_replace($pattern, $replacement, $str);

=)

Snoopik добавил 28.03.2009 в 12:13

bezludny:
Зря тем наплодил. Задача одна и та же выполняется.
И что это такое??


if ($encode == "windows-1251")
{
$html .= str_replace("utf-8", "windows-1251", $html);
$html .= str_replace("UTF-8", "windows-1251", $html);
}
if ($encode == "utf-8")
{
$html .= str_replace("windows-1251", "utf-8", $html);
}


Ты решил, что сможешь простой заменой "windows-1251" на "utf-8" или наоборот сменить КОДИРОВКУ ФАЙЛА? Для этого юзается iconv()

iconv()

Не все хостеры поддерживают.

DenIT:
Каким уровнем телепатических навыков мы должны обладать, чтобы, покопавшись в первом блоке кода, увидеть то же, что и вы?

Насколько мне хватает телепатии, проблема в точке:

Да и вообще код какой-то странный, выкиньте его и поищите другой.

Получается телепатия на нулен, т.к. если убрать их мне выведет только конец кода а именно "</html>" и всё=(

Вот весь код


case "html" :

$url = $_GET['url'];
if (!empty($url))
{
$sock = fopen ($_GET['url'], 'r');
if (!$sock)
{
echo "Не получилось подключиться к ".$_GET['url']." .";
fclose ($sock);
}
else
{
$html = '';
while (!feof($sock)){
$html .= fgets($sock);

}
}

$pattern = '/<(.*?)href=\"(?!http)(.*?)\"(.*?)>/ims';
$replacement = '<$1href="'.$url.'$2"$3>';
$str = $html;
$html .= preg_replace($pattern, $replacement, $str);

// Узнаём IP адресс
$urla = $_GET['url'];
// Преобразовываем ип в хещ
$file = md5($urla);
// Задаём имя
$filename = $file.".html";
$unlik = $filename;
// Открываем на запись и чтение
$fd = fopen($filename, "w+");
// Открываем на запись и чтение
$ride = fopen($filename, "r+");
// Записываем
if ($encode == "windows-1251")
{
$html .= str_replace("utf-8", "windows-1251", $html);
$html .= str_replace("UTF-8", "windows-1251", $html);
}
if ($encode == "utf-8")
{
$html .= str_replace("windows-1251", "utf-8", $html);
}

fwrite($ride, $html);
// Закрываем
fclose($ride);
// Создаём объект
$createZip = new createZip;
// Контент файла
$fileContents = $html;
// Добавляем файл в архив
$createZip -> addFile($html, $filename);
// Создаём название сайта
$filezipname = $file.".zip";
// $fileName = $filezipname
$fileName = $filezipname;
// Открываем файл
$fdd = fopen ($fileName, "wb");
// Записываем
$out = fwrite ($fdd, $createZip -> getZippedfile());
// Закрываем
fclose ($fdd);

// Сообщение об успешном граббере кода
echo "<center>Вы успешно сграбили HTML-код страницы ". $_GET['url'] . "</center><br>";
echo '<center><a href="/graber/'.$fileName.'">Скачать</a></center>';
}
else
{
echo "Ошибка";
}
break;
bezludny:
Зависит от того, на каком языке вы это собрались делать. И для каких целей, соответственно.
Так, если делать это на клиентской стороне на JS, то достаточно подменить аттрибут href у объекта якорь.

var oldVal = aObj.getAttribute("src");
aObj.setAttribute("src", "http://site.ru/"+oldVal);

Если же это будет делаться на стороне сервера - например, на PHP, то копайте в сторону регулярных выражений. Есть замечательная функция preg_replace.

на php

Подскажите

Всего: 119