לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #8  
ישן 13-09-2009, 23:04
  משתמש זכר dorM dorM אינו מחובר  
מנהל
 
חבר מתאריך: 26.07.08
הודעות: 6,473
בתגובה להודעה מספר 7 שנכתבה על ידי אלון סאקס הגבר שמתחילה ב "אז בעצם אני מכניס בתוך ה..."

ציטוט:
אז בעצם אני מכניס בתוך ה Index.php את השורה הנ"ל, ואז אני יכול לתת קישור כמו שציינת?


בסינון הכוונה היא לוודא שאתה מקבל בקלט מחרוזת צפויה מראש.
אם יש אפשרות לגרום למערכת להתנהג בצורה שלא תיכננת באמצעות הקלט - אז לא סיננת טוב את הקלט.

אתה לא אמור לתת למשתמש גישה ישירה לקבצים שהוא לא צריך להכיר. ניתן לחסום גישה דרך השרת HTTP ו\או בכל קובץ להוסיף בתחילתו בדיקה אם ניגשו אליו ישירות (מומלץ ליתר ביטחון).

לדוגמא בקובץ ה-index.php יש להגדיר קבוע:
קוד PHP:
 define('_iExe_'1); 


ובכל קובץ אחר (כמו main.php) לכתוב:
קוד PHP:
 if (!defined('_iExe_'))
  die(
'Restricted area'); 


בקבוע _iExe_ האות i מסמלת index ו- Exe מסמל Executed - כלומר האם קובץ האינדקס הורץ?

נערך לאחרונה ע"י dorM בתאריך 13-09-2009 בשעה 23:08.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #9  
ישן 13-09-2009, 23:06
צלמית המשתמש של MatiM
  משתמש זכר MatiM MatiM אינו מחובר  
 
חבר מתאריך: 12.04.06
הודעות: 2,021
שלח הודעה דרך MSN אל MatiM
בתגובה להודעה מספר 7 שנכתבה על ידי אלון סאקס הגבר שמתחילה ב "אז בעצם אני מכניס בתוך ה..."

אם תשתמש ב:

קוד PHP:
 include $_GET['page'] . '.php'


אנשים יוכלו לכתוב בכתובת כל דבר שהם ירצו, ולנסות לגשת לקבצים בשרת שלך.
אם הם קיימים - הם יגיעו לעמודים שאתה לא בהכרח רוצה לתת אליהם גישה.
אם הם לא קיימים - הם יקבלו שגיאות שמכילות את נתיב הקובץ בשרת וכדומה (לא מידע שממהרים להפיץ לכל אחד)


בכך שתשתמש בswitch - case תוכל "לסנן/למיין" את העמודים שברצונך לתת גישה אליהם.
לכל העמודים שתקדיש להם caseים תהיה גישה למשתמש, כל דבר אחר שיכתב יפנה לעמוד הראשי.
קוד PHP:
 switch($_GET['page']) 

case 
'main': include "index.php"; break;
 case 
'info': include "myinfo.php"; break;
 default: include 
"index.php"; break; // << יפנה לעמוד הראשי 



שים לב שאתה יכול לשנות את שמות הקבצים [לעומת מה שנכתב בGET], מה שיאפשר לשמור על עוד קצת מידע חסוי בנוגע לקבצי השרת.

בנוגע לmain - בדוגמא הנ"ל אפשר לוותר על הcase של main, כיוון שבכל מקרה אם לא קיים עמוד כמו שהוגדר - זה יפנה לעמוד הזה.
בצורה כזאת, גם אם תכתוב main וגם אם תכתוב כל דבר אחר שלא קיים - תגיע לעמוד הראשי.
השארתי את הmain בדוגמא, רק כדי שתבין את הפעולה ומה יקרה מבחינת העמוד ומה שיטען.


בהצלחה
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה


נערך לאחרונה ע"י MatiM בתאריך 13-09-2009 בשעה 23:08.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #10  
ישן 13-09-2009, 23:42
  אלון סאקס הגבר אלון סאקס הגבר אינו מחובר  
 
חבר מתאריך: 19.02.05
הודעות: 114
שלח הודעה דרך ICQ אל אלון סאקס הגבר
בתגובה להודעה מספר 7 שנכתבה על ידי אלון סאקס הגבר שמתחילה ב "אז בעצם אני מכניס בתוך ה..."

עזבו את הענין הסתבכתי כבר, שבוע הבא אני מתחיל ללמוד שפות צד שרת
יש לי שאלה אחרת יש לי את הקוד הבא
קוד PHP:
<?php require_once('includes/config.php'); 
ob_start();
session_start();
$res mysql_query("SHOW TABLE STATUS LIKE 'users'") or die(mysql_error());
$table_exists mysql_num_rows($res) == 1;
$success 0;
$s 0;
if (isset(
$_GET['s'])) {
$success 1;
$s 1;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255" />
<title>&agrave;&ugrave;&oacute; &auml;&auml;&uacute;÷&eth;&auml; &ugrave;&igrave; msclm</title>
<link href="includes/simplecustomer.css" rel="stylesheet" type="text/css" />
</head><body bgcolor="#66CCFF"><div class="logincontainer" id="installcontainer"><h1 dir="rtl"><span class="loginheading">
 &agrave;&ugrave;&oacute; &auml;&auml;&uacute;÷&eth;&auml; &ugrave;&igrave; msclm</span></h1>
<?php if ($s!=1) { ?><form id="form1" name="form1" method="post" action="">
    <p dir="rtl">&auml;&euml;&eth;&ntilde; &agrave;&uacute; &euml;&uacute;&aring;&aacute;&uacute; &auml;&atilde;&aring;&agrave;&oslash; &auml;&agrave;&igrave;÷&egrave;&oslash;&aring;&eth;&eacute; &ugrave;&igrave;&ecirc;<br />
      <input name="email" type="text" id="email" size="35" />
</p>
    <p dir="rtl"></p>
    <p dir="rtl">&agrave;&eth;&agrave; &aacute;&ccedil;&oslash; &ntilde;&eacute;&ntilde;&icirc;&auml; <br />
      <input name="password" type="password" id="password" size="35" /></p>
 <p dir="rtl"><span lang="he">&agrave;&eth;&agrave; &aacute;&ccedil;&oslash; &ugrave;&iacute;</span></p>
 <p dir="rtl"><input type="text" name="name" size="35"></p>
 <p dir="rtl"><span lang="he">&agrave;&eth;&agrave; &auml;&euml;&eth;&ntilde; &icirc;&ntilde;&ocirc;&oslash; &auml;&eth;&eacute;&eacute;&atilde; &ugrave;&igrave;&ecirc;</span></p>
 <p dir="rtl"><input type="text" name="cell" size="35"></p>
    <p dir="rtl">
    <input type="submit" name="Submit" value="התקן" />
  </p>
  </form>
<?php ?>
  <h1 dir="rtl">
    <?php if ($_POST['email'] && $success==0) { ?>
<?php 
mysql_query
("CREATE TABLE `contacts` (
  `contact_id` int(11) NOT NULL auto_increment,
  `contact_first` varchar(255) default NULL,
  `contact_last` varchar(255) default NULL,
  `contact_title` varchar(255) default NULL,
  `contact_image` varchar(255) default NULL,
  `contact_profile` text,
  `contact_company` varchar(255) default NULL,
  `contact_street` varchar(255) default NULL,
  `contact_city` varchar(255) default NULL,
  `contact_state` varchar(255) default NULL,
  `contact_zip` varchar(255) default NULL,
  `contact_phone` varchar(255) default NULL,
  `contact_cell` varchar(255) default NULL,
  `contact_fax` varchar(255) default NULL,
  `contact_email` varchar(255) default NULL,
  `contact_web` varchar(255) default NULL,
  `contact_updated` int(11) default NULL,
  `contact_user` int(11) default NULL,
  PRIMARY KEY  (`contact_id`)
) TYPE=MyISAM"
);

mysql_query("CREATE TABLE `users` (
  `user_id` int(11) NOT NULL auto_increment,
  `user_level` int(11) default NULL,
  `user_email` varchar(255) default NULL,
  `user_password` varchar(255) default NULL,
  `user_date` int(10) default NULL,
  `user_home` varchar(255) default NULL,
  `user_name` varchar(255) default NULL,
  `user_cell` varchar(255) default NULL,
  PRIMARY KEY  (`user_id`)
) TYPE=MyISAM"
);
mysql_query("INSERT INTO `users` (`user_id`, `user_level`, `user_email`, `user_password`, `user_date`, `user_home`, `user_name`, `user_cell`) VALUES (1, 1, '".trim($_POST['email'])."', '".trim($_POST['password'])."', '".trim($_POST['name'])."', '".trim($_POST['cell'])."', NULL, 'index.php')");
mysql_query("CREATE TABLE `history` (
  `history_id` int(11) NOT NULL auto_increment,
  `history_type` int(11) default NULL,
  `history_contact` int(11) default NULL,
  `history_date` int(10) default NULL,
  `history_status` int(11) default NULL,
  `history_user` int(11) default NULL,
  PRIMARY KEY  (`history_id`)
) TYPE=MyISAM"
);
 
mysql_query("CREATE TABLE `notes` (
  `note_id` int(11) NOT NULL auto_increment,
  `note_contact` int(11) default NULL,
  `note_text` text,
  `note_date` varchar(10) default NULL,
  `note_status` int(11) default NULL,
  `note_user` int(11) default NULL,
  PRIMARY KEY  (`note_id`)
) TYPE=MyISAM"
);
$_SESSION['user'] = $_POST['email'];
header('Location: install.php?s'); die;
?>
<?php 
?>
<?php 
if ($success==1) { 
$query_usercheck "SELECT * FROM users ";
$usercheck mysql_query($query_usercheck$contacts) or die(mysql_error());
$row_usercheck mysql_fetch_assoc($usercheck);
$totalRows_usercheck mysql_num_rows($usercheck);
if (
$totalRows_usercheck 0) { $success 1; } 
?>
 &auml;&icirc;&ograve;&oslash;&euml;&uacute; &auml;&aring;&uacute;÷&eth;&auml; &aacute;&auml;&ouml;&igrave;&ccedil;&auml;, &agrave;&eth;&agrave; &icirc;&ccedil;÷ &agrave;&uacute; &auml;÷&aring;&aacute;&otilde; install.php &igrave;&ocirc;&eth;&eacute; &ugrave;&agrave;&uacute;&auml; &icirc;&icirc;&ugrave;&eacute;&ecirc;</h1>
 <h1 dir="rtl">
    <a href="index.php" class="links">&auml;&uacute;&ccedil;&aacute;&oslash; &agrave;&igrave; &auml;&icirc;&ograve;&oslash;&euml;&uacute;</a></h1>
<?php ?>
</div>
</body>
</html>

<?php require_once('includes/config.php'); 
ob_start();
session_start();
$res mysql_query("SHOW TABLE STATUS LIKE 'users'") or die(mysql_error());
$table_exists mysql_num_rows($res) == 1;
$success 0;
$s 0;
if (isset(
$_GET['s'])) {
$success 1;
$s 1;
}
?>
<?php
include('ms/ms.php');
?>

הוספתי את הערכים
user_name
user_cell
אבל אחרי ההתקנה זה התבלבל לחלוטין ב phpmyadmin
זה הראה לי שהערך
user_home
נכנס ל
user_cell
וגם השני שהכנסתי התבלבל
help
תודה
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #11  
ישן 14-09-2009, 13:21
צלמית המשתמש של MatiM
  משתמש זכר MatiM MatiM אינו מחובר  
 
חבר מתאריך: 12.04.06
הודעות: 2,021
שלח הודעה דרך MSN אל MatiM
בתגובה להודעה מספר 10 שנכתבה על ידי אלון סאקס הגבר שמתחילה ב "עזבו את הענין הסתבכתי כבר,..."

קוד PHP:
 mysql_query("INSERT INTO `users` (`user_id`, `user_level`, `user_email`, `user_password`, `user_date`, `user_home`, `user_name`, `user_cell`) VALUES (1, 1, '".trim($_POST['email'])."', '".trim($_POST['password'])."', '".trim($_POST['name'])."', '".trim($_POST['cell'])."', NULL, 'index.php')"); 


כאשר אתה עובד עם MYSQL, אתה צריך לוודא שהערכים שאתה מכניס יהיו לפי הסדר שהם מופיעים בסוגריים הראשונים.

משמע:
אידי המשתמש
רמת המשתמש
האימייל של המשתמש
סיסמאת המשתמש
תאריך המשתמש
הבית של המשתמש
השם של המשתמש
הפלאפון של המשתמש


וכשהכנסת בסוגריים השניים, הכנסת את זה בסדר שונה.(ראה למעלה, שזה לא לפי אותו סדר)

זה התיקון:

קוד PHP:
 mysql_query("INSERT INTO `users` (`user_id`, `user_level`, `user_email`, `user_password`, `user_date`, `user_home`, `user_name`, `user_cell`) VALUES (1, 1, '".trim($_POST['email'])."', '".trim($_POST['password'])."', NULL, 'index.php', '".trim($_POST['name'])."', '".trim($_POST['cell'])."' )"); 
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 08:14

הדף נוצר ב 0.07 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר