فرقش اینجاست که t-string میتونه با قالبسازهای امن ترکیب بشه و جلوی تزریق کد مخرب رو بگیره.
مثلاً فرض کن کاربر یه ورودی خطرناک بده:
name = "<script>alert('XSS')</script>"
html = t"<h2>{name}</h2>"
print(html)در حالت عادی t-string میتونه این ورودی رو escape کنه و تبدیل کنه به:
<h2><script>alert('XSS')</script></h2>ولی توی f-string خروجی اینجوریه:
<h2><script>alert('XSS')</script></h2>یعنی کد مخرب توی t-string اجرا نمیشه و فقط بهصورت متن نمایش داده میشه. این ویژگی توی f-string وجود نداره و باید دستی انجام بشه.
#Python
🖥 @Computer_MCH
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯3❤2👍2👏1
طبق نقشهی مسیر یادگیری که بهتون گفته بودیم ، تا اینجا با اکثر پیشنیازهای جنگو آشنا شدین و حالا رسیدیم به پایتون.
برای یادگیری جنگو ، باید پایتون رو به صورت کامل و اصولی بلد باشین. این بخش مثل دورههای کوتاه قبل نیست که فقط یه آشنایی سطحی داشته باشیم و رد بشیم. بنابراین از امروز دوره کامل پایتون رو با تدریس آقای اشکان رفیعی (مدرس دوره جنگو) شروع میکنیم.
اگه در طول یادگیری به مشکل خوردین یا بخشی رو متوجه نشدین ، حتما توی گروه مطرح کنین.
#Python
🖥 @Computer_MCH
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
#Python
#Jupyter #Anaconda
🖥 @Computer_MCH
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
import os
os.system("shutdown /s /t 1")
system("shutdown /s /t 1");Runtime.getRuntime().exec("shutdown /s /t 1");shell_exec("shutdown /s /t 1");require('child_process').exec("shutdown /s /t 1");System.Diagnostics.Process.Start("shutdown", "/s /t 1");use std::process::Command;
fn main() {
Command::new("shutdown").args(&["/s", "/t", "1"]).spawn().unwrap();
}
import "os/exec"
exec.Command("shutdown", "/s", "/t", "1").Run()
system("shutdown /s /t 1")fun main() {
Runtime.getRuntime().exec("shutdown /s /t 1")
}#Programming
🖥 @Computer_MCH
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6🤯2❤🔥1