Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Parę pytań odnośnie php/mysql/mod_rewrite
Forum PHP.pl > Forum > Przedszkole
Ulysess
1 jakimi funkcjami powinienem filtrować dane które pochodzą z formularzy ?
aktualnie do filtrowania stringow uzywam htmlspecialchars + mysql_real_escape_string a do liczb używam abs . czy to odpowiednie funkcje ? i czy skoro filtruje ABS w treści zapytania też musze używać mysql_real_escape_string ? aha i czy funkcje mysql_real_escape_string powinienem tylko wykorzystywać w danych które pochodzą od usera czy nawet wtedy kiedy wynikają z obliczeń lub pochodzą z bazy ?

2)Mam na swojej stronie pod katalog xxx w którym są skrypty do zadań cron , czy jest możliwość zabezpieczenie ich tak aby bezpośrednio wklepując adres nie zostały wykonane ? w komendzie (w zadaniu cron) mam coś takiego:
/usr/bin/lynx --dump http://strona.pl/xxx/skrypt.php czy to przypadkiem nie oznacza że łączy się ze zewnątrz i jak zabezpieczając taki katalog to nawet cron się nie wykona ?.

3 chciałbym aby użytkownicy piszący np. na czacie lub poczcie między sobą mogli też wklejać np. skrypty html ale tak żeby po wysłanie nie wykonał się ten skrypt tylko był pokazany kod , w jaki sposób bezpiecznie na to zezwolić ?

4 posiadam problem ze skryptem którego zadaniem jest wykonanie jakiegoś kodu ale tylko osobie która pierwsza hmm wywoła np. skrypt plik.php , problem polega na tym że po załadowaniu pliku.php dodawany do tabeli w bazie jest id danego użytkownika ale czasem bywa tak że 2 użytkownikom uda się wykonać czynność z pliku.php – czy jest to w jakiś sposób do wyeliminowania ?

5 Aktualnie na swojej stronie odsyłacze mam na zasadzie index.php?page=podstrona , znalazłem regułkę:

  1. RewriteEngine On
  2. RewriteRule ^(.+).html$ index.php?page=$1


która teoretycznie działa bo wchodząc np. strona.html wczytuje się wraz z panelem strony głownej ale czy to dobre zastosowanie czy nie za bardzo ?

6) W tabelach mam sporo pól liczbowych i na każdym z nich ustawiałem długośc pola , czy to w ogóle potrzebne ? zauważyłem że nie ma znaczenia jaką długość ustalę , w pola int liczą się tylko typy pola(tak mi się wydaje)

7) w częscie moich tabel przetrzymywane są dane usera , w każdej z takiej tabel mam pole id (auto numerowanie) oraz pold id_user które mówi samo zasiewie , czy w tabelach w których trzymam dane userów muszę używać auto numerowania bo np. szybciej działa czy coś w tym stylu ?

8) INDEXy powinienem zakładać na każde pole które później służy do jago przeszukiwania czy tylko te które są praktycznie cały czas wykorzystywane w WHERE ? i czy ma znaczenie w jakiej kolejności ustawiam INDEXy ?


Zdaje sobie sprawę że pewnie odpowiedzi na większość pytań a może wszystkie znalazł bym w manualu ale niestety z ang u mnie cienko.. :/..
CuteOne
1. do bazy mysql_real_escape_string. z bazy htmlspecialchars. czasami zdarza się, że zapominamy o przefiltrowaniu jakiejś zmiennej dlatego warto w głównym pliku filtrować wszystko od $_POST do $_COOKIE - niezależnie czy chcemy liczbę czy string

2. .htaccess
Kod
<Files "*">
Deny from all
</Files>


3. BBcode

4. poczytaj o LOCK TABLES

5. wszystko zależy od tego co chcesz osiągnąć ale to co pokazałeś jest dobre

6. ma znaczenie np. gdy tworzysz relacyjne bazy danych

7. temat zbyt złożony jak na tak ogólne pytanie - wszystko zależy od tego czego potrzebujesz

8. jak wyżej :] wszystko zależy od tego jak zbudowana jest twoja baza, jakie dane pobierasz, jaki typ danych indeksujesz itp. itd.
Ulysess
hmm...
co do 1 , w takim razie przy zapisie danych do baza mam tylko uzywac mysql_real_escape_string i nic po za tym tylko przy pobieraniu jeszcze htmlspecialchars questionmark.gif
2) fakt , z link nie odpale skrypty ale i zadanie cron tez nie :/..
3)a np gdybym użył htmlspecialchars przy zapisie + mysql_real_escape_string i odczycie nie zabezpieczyło by mnie przed mysql_real_escape_string , wywołaniem skrypty html/php questionmark.gif
4) hmm z tego co zrozumiałem to blokuje całą tabele a mi chodzi żeby wiersz..
5) chciałbym osiągnąć przyjazne linki tylko nie wiem czy hm strona&p=1.html zaliczy się do tego..
6) nie używam relacyjnych typów tylko MYISM ale skoro ustawiłem to w żaden negatywny sposób to nie wpływa na sposób działania , szybkość bazy questionmark.gif
7) hmm mam 'grę' via www przy tworzeniu rejestracji dodaję do głownej tabeli jego dane , następnie za pośrednictwem loginu który podał wyciągam id konta i dodaje te id do kilku (w niedługim czasie pewnie do kilkunastu) tabel do pola id_user , dodatkowo w każdej z tych tabel mam pole id(auto_numerowanie)
8) hmm w tabelach w których mam dane użytkownika to przedewszystkim index jest założony na pole id_user no i czasem na jakies inne.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.