Защита на динамични пхп файлове

pr4s40

Registered
Здр значи сблъсквам се с един проблем.
Може ли да се защитят пхп файловете, които се зареждат принципно чрез аякс, от директното им отваряне. всмисъл всичко си работи точно, нормално и при резултат от пгп файла се визуализира където трябва. Но идеята е че пхп файла си остава достъпен, и някой може да реши да пробва да го отвори директно и ако има всички гет променливи ще си добави нов запис в базата данни и става объркано.
как вие се защитавате от подобни проблеми?
 
Това си го копирал явно от някъде, но ако схващам идеята ти тя работи при инклуд('файла'), а не при зареждането на динамични файлове с аякс.
Пробвал съм и това (ако ми говориш за същото)
if ( preg_match('/ajax\.php/iu',$_SERVER['REQUEST_URI']) ) { die('Die!!!'); }
пробвал съм и $_SERVER['PHP_SELF'] $_SERVER['SCRIPT_FILENAME'] и разни други Пробвал съм и с define("neshto",true) и в ajax.php да проверявам defined("neshto") и пак не става и не става. Почвам да си мисля че няма начин да се защитят тия файлове
Чакам още предложения :oops:
 
А пробвал ли си
if ( $_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest' ) { die('Die!!!'); }
:?:
Но, предполагам лесно ще се манипулира ... така че пак не е 100% защита.
 
Явно не съм разбрал точно какво ти трябва. Схванал си идеята, точно за инклуднати файлове е.

Е сега вече ще трябва да обясниш какво правят php файловете и как така се "виждат"? Защити си входните данни, па нека да ги отварят.

Или ги преправи и ги инклудвай.
 
rombeca, ползвам jQuery за да си разнообразя сайта тоест ползвам $.ajax и си тегля информация от някакъв пхп файл, искам този пхп файл (от който вземам информацията) да не може да се отваря директно. Затова ми трябва такава защита.
replace това работи, но щом не е сигурно ще почакам да видя и други прдложения, но за сега това е единствения ми вариант май.
 
Най-доброто нещо което можеш да направиш, е да използваш кода на @Replace. jQuery изпраща свой хедър X_REQUESTED_WITH.
Друг начин не виждам да има.
Можеш за заблуда на противника, когато не е зареден с Ajax файла да вадиш някакви рандом стрингове, но нещо по-добро и по-надеждно не мога да ти предложа :/
 
Аха значи това е единствения вариант благодаря много на сички ви, и repalce освен да ти дам една точка друго не мога да направя наистина много ми помогнахте
 

Back
Горе