HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

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

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

  #9001  
Старый 22.02.2009, 17:05
Shadow_p1raT
Участник форума
Регистрация: 09.03.2008
Сообщений: 193
Провел на форуме:
2140897

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

добавь после даты
PHP код:
$_SERVER['HTTP_REFERER'
 
Ответить с цитированием

  #9002  
Старый 22.02.2009, 18:22
KIR@PRO
Постоянный
Регистрация: 26.12.2007
Сообщений: 353
Провел на форуме:
905389

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

Цитата:
Сообщение от -m0rgan-  
Вот еще появился вопрос по этому скрипту:
Редириктить то оно редириктит, но не при всех не правильных значениях...
Мне нужно, чтобы параперт id принимал только числовые значения, при подстановке каких либо символов он редиректил...
в даный момент редириктин при таком запросе:

http://localhost/news.php?id=-25

а при http://localhost/news.php?id=25'
страница остается в прежнем состояие...
можно ли сделать так, чтобы при определенных значениях id редиректило?
вот несколько конкретных решений:

№1 тут я просто $id прописал если надо другое сам пропишеш $_post['id'] или $_get['id']

PHP код:
if (isset($id) && is_numeric($id)){
//обрабатываеш числовое ID вот такое: http://localhost/news.php?id=25'  здесь уже не пройдет
}
else {
    exit(
'hello!');// если ID не числовое

№2 вместо(вместе c) is_numeric можно использовать регулярку

PHP код:
if (isset($id) && is_numeric($id) && preg_match("/^[0-9]+$/i",$id)) {
//обрабатываеш числовое ID вот такое: http://localhost/news.php?id=25'  здесь уже не пройдет
}
else {
    exit(
'hello!');// если ID не числовое


№3 совсем конкретизируем второй вариант:

PHP код:
if (isset($id) && is_numeric($id) && preg_match("/^[0-9]+$/i",$id)) {
//обрабатываеш числовое ID вот такое: http://localhost/news.php?id=25'  здесь уже не пройдет

switch ((integer)$id){
  case 
1//если ИД = 1
    
echo "строка один<br>";
    
//еще что то делаеш
    
echo "строка два и т.д.";
    break;
  case 
4:  //если ИД = 4
    
echo "4 строка один<br>";
    
//еще что то делаеш
    
echo "4 строка два и т.д.";
    break;
  default: 
//если id не равно одному из вушеперечисленных значений
    
Echo"ID is not correct;";
    break;
    }
}
else {
    exit(
'hello!');// если ID не числовое

 
Ответить с цитированием

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

Репутация: 1304


По умолчанию

KIR@PRO Омг, а еще более извращенно слабо? Можно разбить еще строку на составляющие, а потом каждый знак сравнивать - число это или нет.

-m0rgan-

PHP код:
error_reporting(0);
include
"config.php";
$id=intval($_GET['id'])>intval($_GET['id']) : 0// Вся соль тут)
if($id) {
echo 
$news
$query "SELECT * FROM news where `id`='".$id."'";
$result mysql_query($query);
while (
$row mysql_fetch_array($result)) :
цикл...
endwhile;
} else {
header('Location: heck.php');} 

Последний раз редактировалось Gifts; 22.02.2009 в 18:40..
 
Ответить с цитированием

  #9004  
Старый 22.02.2009, 18:42
KIR@PRO
Постоянный
Регистрация: 26.12.2007
Сообщений: 353
Провел на форуме:
905389

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

Цитата:
KIR@PRO Омг, а еще более извращенно слабо? Можно разбить еще строку на составляющие, а потом каждый знак сравнивать - число это или нет
я привел ему пару примеров простой средний и 100500% безопасный вариант


p.s. приходится так изощьряться потомучто нет 100% уверенности в том, что в функциях isset(), is_numeric(), preg_match() нет приватных уязвимостей... поэтому я добавил switch
 
Ответить с цитированием

  #9005  
Старый 22.02.2009, 18:58
KIR@PRO
Постоянный
Регистрация: 26.12.2007
Сообщений: 353
Провел на форуме:
905389

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

Цитата:
Сообщение от Gifts  
KIR@PRO Омг, а еще более извращенно слабо? Можно разбить еще строку на составляющие, а потом каждый знак сравнивать - число это или нет.

-m0rgan-

PHP код:
error_reporting(0);
include
"config.php";
$id=intval($_GET['id'])>intval($_GET['id']) : 0// Вся соль тут)
if($id) {
echo 
$news
$query "SELECT * FROM news where `id`='".$id."'";
$result mysql_query($query);
while (
$row mysql_fetch_array($result)) :
цикл...
endwhile;
} else {
header('Location: heck.php');} 

хм странно но почему то при ?id=3 и вообще ?id=(ТОЛЬКО ЧИСЛО) все время редиректит, но когда не число тоже редиректит) ищи ошибку....


вообще не пойму смысла вот этого: ? intval($_GET['id']) : 0

intval() если id не число всеравно вернет 0

Последний раз редактировалось KIR@PRO; 22.02.2009 в 19:05..
 
Ответить с цитированием

  #9006  
Старый 22.02.2009, 19:04
fatalo
Участник форума
Регистрация: 15.05.2008
Сообщений: 166
Провел на форуме:
2591223

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

Вопросец,какая функция в пхп отвечает за сохранение определенного файла на сервер?(допустим,я подставляю ссылку в запрос,и скрипт сохраняет содержимое ссылке ко мне на винт)
 
Ответить с цитированием

  #9007  
Старый 22.02.2009, 19:07
Zedi
Постоянный
Регистрация: 06.06.2007
Сообщений: 335
Провел на форуме:
1487377

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

Прочитай про fopen fwrite file_get_contents
 
Ответить с цитированием

  #9008  
Старый 22.02.2009, 19:08
KIR@PRO
Постоянный
Регистрация: 26.12.2007
Сообщений: 353
Провел на форуме:
905389

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

Цитата:
Сообщение от fatalo  
Вопросец,какая функция в пхп отвечает за сохранение определенного файла на сервер?(допустим,я подставляю ссылку в запрос,и скрипт сохраняет содержимое ссылке ко мне на винт)
ты как то запутался в одном предложении тебе на винт сервера сохранить надо или всетаки всоего компа(клиента)??
 
Ответить с цитированием

  #9009  
Старый 22.02.2009, 19:13
[JavaScript]
Познающий
Регистрация: 14.02.2009
Сообщений: 45
Провел на форуме:
96296

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

KIR@PRO, а если его винт и есть сервер.
 
Ответить с цитированием

  #9010  
Старый 22.02.2009, 19:25
fatalo
Участник форума
Регистрация: 15.05.2008
Сообщений: 166
Провел на форуме:
2591223

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

[JavaScript],ты прав.
А вот я что-то туплю.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



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


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




ANTICHAT.XYZ